相当于Python中的implode(php)的东西

M M*_*M M 3 python join

我有一个dict()跟随data

{0: 1703554, 1: 1143136, 2: 1877978, 3: 1593739, 4: 708961, 5: 708961, 6: 412752, 7: 266352, 8: 1164387, 9: 1164387}
Run Code Online (Sandbox Code Playgroud)

PHP它中可以很容易地使用implode()得到所有值的逗号分隔列表,1703554,1143136,1877978... 如何使用Python?我试过跟随print(','.join(str(id))),它给了我以下输出

{,0,:, ,1,7,0,3,5,5,4,,, ,1,:, ,1,1,4,3,1,3,6,,, ,2,:, ,1,8,7,7,9,7,8,,, ,3,:, ,1,5,9,3,7,3,9,,, ,4,:, ,7,0,8,9,6,1,,, ,5,:, ,7,0,8,9,6,1,,, ,6,:, ,4,1,2,7,5,2,,, ,7,:, ,2,6,6,3,5,2,,, ,8,:, ,1,1,6,4,3,8,7,,, ,9,:, ,1,1,6,4,3,8,7,}
Run Code Online (Sandbox Code Playgroud)

而且我也用过id.values()但不工作,可能是我用错了方法,请帮忙!

这是 print(id.values)

[1703554, 1143136, 1877978, 1593739, 708961, 708961, 412752, 266352, 1164387, 1164387]
Run Code Online (Sandbox Code Playgroud)

我想要它 string

Dun*_*can 8

您需要将每个值转换为字符串,并且需要使用逗号连接所有这些字符串:

print(','.join(str(v) for v in id.values()))
Run Code Online (Sandbox Code Playgroud)

要么

print(','.join(map(str, id.values())))
Run Code Online (Sandbox Code Playgroud)


mu *_*u 無 5

你正在寻找 dict.values()

>>> d = {0: 1703554, 1: 1143136, 2: 1877978, 3: 1593739, 4: 708961, 5: 708961, 6: 412752, 7: 266352, 8: 1164387, 9: 1164387}
>>> d.values()
[1703554, 1143136, 1877978, 1593739, 708961, 708961, 412752, 266352, 1164387, 1164387]
Run Code Online (Sandbox Code Playgroud)

编辑

要将它们作为字符串获取,您可以使用字符串理解:

[str(d[key]) for key in d] #or
[str(v) for v in d.values()] #or
[str(value) for _k, value in d.items()]
Run Code Online (Sandbox Code Playgroud)

要打印为字符串,您可以执行

', '.join(str(v) for v in d.values())
Run Code Online (Sandbox Code Playgroud)