Как мне получить доступ к определенному значению ключевого слова d?
Ответ 1
Индексируйте список, затем dict.
print L[1]['d']
Ответ 2
Прежде всего, не используйте "список" в качестве имени переменной.
Если у вас есть простые словари с уникальными ключами, вы можете сделать следующее (обратите внимание, что будет создан новый объект словаря со всеми элементами из суб-словарей):
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]
Ответ 3
Вы не предоставили достаточно контекста для предоставления точного ответа (например, как вы хотите обрабатывать идентичные ключи в нескольких dicts?)
Один ответ заключается в повторении списка и попытке получить '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']
Ответ 4
Если вы знаете, какой dict в списке есть ключ, который вы ищете, у вас уже есть решение (как представлено Мэттом и Игнасио). Однако, если вы не знаете, какой dict имеет этот ключ, вы можете сделать это:
def getValueOf(k, L):
for d in L:
if k in d:
return d[k]