l = [
{'bob':'hello','jim':'thanks'},
{'bob':'world','jim':'for'},
{'bob':'hey','jim':'the'},
{'bob':'mundo','jim':'help'}
]
for dict in l:
print dict['jim']
是否有单线或pythonic方式这样做? 我正在尝试检索词典列表中只有1个项目的列表
答案 0 :(得分:5)
[d['jim'] for d in l]
不要将dict
用作变量名。它掩盖了dict()
内置的内容。
答案 1 :(得分:2)
是的,有很好的功能性编程:
map(lambda d: d['jim'], l)
答案 2 :(得分:2)
当然,例如:
In []: l
Out[]:
[{'bob': 'hello', 'jim': 'thanks'},
{'bob': 'world', 'jim': 'for'},
{'bob': 'hey', 'jim': 'the'},
{'bob': 'mundo', 'jim': 'help'},
{'bob': 'gratzie', 'jimmy': 'a lot'}]
In []: [d['jim'] for d in l if 'jim' in d]
Out[]: ['thanks', 'for', 'the', 'help']