2011-05-08 77 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