从字典列表中仅打印1个项目的快捷方式

时间:2011-05-30 19:46:01

标签: python

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个项目的列表

3 个答案:

答案 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']