2011-05-08 125 views
2

從集詞典中獲取一組值的首選方法是什麼?從集詞典中獲取一組值

我想出了使用reduceitervalues()想知道是否有更好的方法。

>>> m_dict = { 'a': set([1,2]), 
... 'b': set([1,4,5]), 
... 'c': set([2,8,9]) } 
>>> print m_dict 
{'a': set([1, 2]), 'c': set([8, 9, 2]), 'b': set([1, 4, 5])} 
>>> reduce(lambda x,y:x.union(y), m_dict.itervalues()) 
set([1, 2, 4, 5, 8, 9]) 
>>> 

感謝

回答

4

set.union可以接受多套左右,set.union(*m_dict.values())

+0

奇怪的是我今天花的一部分,做思想演習試圖想爲減少用途... – zeekay 2011-05-08 06:50:53

+0

+1沒想到使用「splat」謝謝。 – DTing 2011-05-08 06:51:36

+0

我絕對喜歡Python的價值打包/拆包! – zeekay 2011-05-08 06:53:14