我有一个包含两个词典的列表。获取test.py和test2.py并将它们作为列表[test.py,test2.py]的最简单方法是什么?如果可能的话,我想在没有for循环的情况下这样做。
[ {'file': 'test.py', 'revs': [181449, 181447]},
{'file': 'test2.py', 'revs': [4321, 1234]} ]
答案 0 :(得分:8)
可以使用list comp
- 这是一种for循环我想:
>>> d = [ {'file': 'test.py', 'revs': [181449, 181447]},
{'file': 'test2.py', 'revs': [4321, 1234]} ]
>>> [el['file'] for el in d]
['test.py', 'test2.py']
不使用for
一词,您可以使用:
>>> from operator import itemgetter
>>> map(itemgetter('file'), d)
['test.py', 'test2.py']
或者,没有导入:
>>> map(lambda L: L['file'], d)
['test.py', 'test2.py']