仅在python字典中加入值

Cod*_*oot -3 python dictionary

我有一本字典.我只是想加入这些价值观.这是字典: -

d = {'x': 1, 'y': 2, 'z': 3} 
Run Code Online (Sandbox Code Playgroud)

我的预期输出是123 (它应该是123而没有任何排序)

我正在使用的代码: -

d = {'x': 1, 'y': 2, 'z': 3} 
test = ' '.join(d.values())
print test
Run Code Online (Sandbox Code Playgroud)

它显示错误: -

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    test = ' '.join(d.values())
TypeError: sequence item 0: expected string, int found
Run Code Online (Sandbox Code Playgroud)

我正在使用python 2.x.

Ant*_*hon 8

您的值不是字符串:

d = {'x': 1, 'y': 2, 'z': 3} 
test = ''.join(str(x) for x in d.values())
Run Code Online (Sandbox Code Playgroud)

正如@MosesKoledoye指出的那样:密钥的顺序无法保证,因此如果订单很重要,您可能想要做更精细的事情.做一个str()对整数值是在任何情况下至关重要.

''.join(str(d[x]) for x in sorted(d))
Run Code Online (Sandbox Code Playgroud)

以上将根据键的排序顺序对值进行排序,按值自行排序是微不足道的.

您的输出也没有数字之间的空格,因此请确保您''不加入
' '.