如何访问列表中的字典键值?

2024-04-20 07:28:56 发布

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

假设我有以下清单:

list = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}]

如何访问key的特定值,例如d


Tags: keylist
3条回答

您没有提供足够的上下文来提供准确的答案(即,您希望如何处理多个dict中的相同键?)

一个答案是迭代列表,并尝试获取“d”

mylist = [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6}]
myvalues = [i['d'] for i in mylist if 'd' in i]

另一个答案是直接访问dict(通过列表索引),尽管您必须知道密钥存在

mylist[1]['d']

首先,不要使用“list”作为变量名。

如果有具有唯一键的简单词典,则可以执行以下操作(请注意,将创建包含子词典中所有项的新词典对象):

res  = {}
for line in listOfDicts:
   res.update(line)
res['d']
>>> 4

否则:

getValues = lambda key,inputData: [subVal[key] for subVal in inputData if key in subVal]
getValues('d', listOfDicts)
>>> [4]

或者说非常基础:

def get_value(listOfDicts, key):
    for subVal in listOfDicts:
        if key in subVal:
            return subVal[key]

先索引列表,再索引dict

print L[1]['d']

相关问题 更多 >