多维dict(array\u column)的检查值

2024-09-29 19:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有必要检查一个特定的值是否对应于多维dict的值(指定键)

multi_dict = [
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'},
{'key1': 'value10', 'key2': 'value20', 'key3': 'value30'}
]

我来自一个PHP环境,我知道有一个函数可以做到这一点:array_columnPython也有类似的东西

指定key1以检查值是否对应的可能输出:

[value1, value10]

Tags: 函数环境arraymultidictphpkey2key1
2条回答

您可以使用列表:

multi_dict = [
    {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'},
    {'key1': 'value10', 'key2': 'value20', 'key3': 'value30'}
]

result = [d['key1'] for d in multi_dict]
print(result)

输出:

['value1', 'value10']

如果要模拟索引键array_column的第三个参数,可以使用字典理解:

result = {d['key1']: d['key2'] for d in multi_dict}
print(result)

输出:

{'value1': 'value2', 'value10': 'value20'}

您可以为所有dict中的一个键提取所有值:

multi_dict = [ {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'},
               {'key1': 'value10', 'key2': 'value20', 'key3': 'value30'},
               {                   'key2': 'value30', 'key3': 'value40'},
             ]

val_key1 = [d.get('key1') for d in multi_dict] 

print(val_key1)  

输出:

['value1', 'value10', None]

您应该使用dict.get(key)来获取None,以防缺少键

独行:

相关问题 更多 >

    热门问题