2010-03-29 39 views

回答

2

假设值已经字符串:

>>> d = { 1 : 'foo', 2 : 'bar' } 
>>> ' '.join(d.values()) 
'foo bar' 

如果没有,你可以尝试使用例如str将它们转换为字符串:

>>> d = { 1 : 2, 3: 4 } 
>>> ' '.join(str(v) for v in d.values()) 
'2 4' 
+0

如果我的字典嵌套? – TIMEX 2010-03-29 08:22:41

1
>>> a = {1: 'hello', 2: 'world'} 
>>> a.values() 
['hello', 'world'] 
>>> ' '.join(a.values()) 
'hello world' 
+0

和a.keys()的键列表。还有iterkeys()和itervalues()我想要得到迭代器。要获得一对key-value iteritems()(或列表变体的项目()) – ony 2010-03-29 07:28:23

+0

@ony:请注意,iterkeys,itervalues和iteritems在Python 3中不起作用。 – 2010-03-29 07:31:48

0

,如果你想从价值包含词典作为值的字典,请尝试如下所示:

In [1]: from itertools import chain 
In [2]: d = {'A': {1: 'pants', 2: 'trowsers'}, 'B': {'1': 'spam', '2': 'eggs'}} 
In [3]: values = ' '.join(chain.from_iterable(dic.itervalues() for dic in d.itervalues())) 
In [4]: values 
Out[4]: 'pants trowsers spam eggs'