如何同时检索嵌套在列表中的字典中的键数据

How to retrieve data of a key in dictionary which is nested in list simultaneously

data = [
    {
        'name1': 'aaa',
    },
    {
        'name2': 'bbb',
    },
    {
        'name3': 'ccc',
    },
    {
        'name4': 'ddd',
    }
]

现在如何检索索引号为 12 的键 >>name1(即 aaa)的数据。同时列出列表。

你访问的是索引为int的列表,你访问的是索引为键的字典,无论类型如何

data = [
    {'name1': 'aaa', },
    {'name2': 'bbb', },
    {'name3': 'ccc', },
    {'name4': 'ddd', }
]

x = data[0]['name1']
print(x)  # aaa

密钥类型示例 int

data = [{'name1': 'aaa'}, {0: 'ddd'}]
x = data[1][0]
print(x)  # ddd

方法

  • 在循环时使用枚举提供每个字典的索引。
  • 使用dictionary.items() 检索每个字典的键值对

代码

def get_value(data, key):
        ' Retrieves index of dictionary and value with key key'
        for i, d in enumerate(data):
            for k, v in d.items():
                if k == key:
                    return i, v    # return index and value of dictionary
            

测试

print(get_value(data, 'name1'))
# Output: (0, 'aaa')