1

ディクショナリ オブジェクトのリストから始めて、キーに基づいてディクショナリ値の一部だけを含む新しいリストを取得するにはどうすればよいでしょうか?

例えば:

my_list = [ {'foo':1},{'bar':2},{'foo':3} ]
new_list = grab_values(my_list, 'foo')

私たちが欲しいもの:

new_list = [1, 3]
4

1 に答える 1

8

最初に頭に浮かぶのは次のとおりです。

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]
于 2013-04-29T20:56:56.563 に答える