仅在Python字典中加入值
我有一本字典。我只想加入价值观。这是字典: -仅在Python字典中加入值
d = {'x': 1, 'y': 2, 'z': 3}
我的预期输出为123
(应该是123,没有任何排序)
代码我使用: -
d = {'x': 1, 'y': 2, 'z': 3} test = ' '.join(d.values())
print test
它显示的错误: -
Traceback (most recent call last): File "test.py", line 2, in <module>
test = ' '.join(d.values())
TypeError: sequence item 0: expected string, int found
我使用Python 2.x的
个回答:
你的价值观是不是字符串:
d = {'x': 1, 'y': 2, 'z': 3} test = ''.join(str(x) for x in d.values())
由于@MosesKoledoye指出:按键的顺序是没有保证的,所以你可能需要做一些事情更复杂,如果字符串是很重要的。对整数值做一个str()
在任何情况下都是至关重要的。
''.join(str(d[x]) for x in sorted(d))
上面将根据键的排序顺序对值进行排序,按值排序是很简单的。
您输出的数字之间没有空格,所以请确保您加入''
不在' '
。
回答:
您需要的值映射在与字符串函数:
d = {'x': 1, 'y': 2, 'z': 3} test = ' '.join(map(str, d.values()))
注意,在排序的格式这个解决方案将不会返回值,即数字将不会按升序排列。但是,如果您需要分类解决方案:
test = ' '.join(map(str, sorted(d.values())))
以上是 仅在Python字典中加入值 的全部内容, 来源链接: utcz.com/qa/258358.html