1
從字典對象列表開始,如何基於密鑰獲取僅包含一些字典值的新列表?從字典列表中獲取新列表
例如:
my_list = [ {'foo':1},{'bar':2},{'foo':3} ]
new_list = grab_values(my_list, 'foo')
我們所希望的:
new_list = [1, 3]
從字典對象列表開始,如何基於密鑰獲取僅包含一些字典值的新列表?從字典列表中獲取新列表
例如:
my_list = [ {'foo':1},{'bar':2},{'foo':3} ]
new_list = grab_values(my_list, 'foo')
我們所希望的:
new_list = [1, 3]
首先想到的是:
In [2]: [x['foo'] for x in my_list if 'foo' in x]
Out[2]: [1, 3]
作爲一個功能:
In [3]: def grab_values(l, key):
...: return [x[key] for x in l if key in x]
...:
In [4]: grab_values(my_list, 'foo')
Out[4]: [1, 3]
是的,我只是用它作爲例子,從來沒有在我的真實代碼中使用它。編輯OP。 – 2013-04-29 21:01:19
@ user11177好:)刪除了通知。您可以刪除評論。 – 2013-04-29 21:05:09
似乎我不被允許..也許沒有足夠的代表。 – 2013-04-29 21:23:29