如何在python中将long列表转换为逗号分隔的字符串

Ben*_*Ben 19 python

我是python的新手,并且有一个long列表,我想将它们连接成一个逗号分隔的字符串.

在PHP中,我会做这样的事情:

$output = implode(",", $array)
Run Code Online (Sandbox Code Playgroud)

在Python中,我不知道如何做到这一点.我尝试过使用join,但这不起作用,因为元素是错误的类型(即不是字符串).我是否需要创建列表的副本并将副本中的每个元素从long转换为字符串?或者有更简单的方法吗?

小智 46

你必须将int转换为字符串,然后你可以加入它们:

','.join([str(i) for i in list_of_ints])
Run Code Online (Sandbox Code Playgroud)

  • 非初学者注意:在Python 2.4+中,你不需要在生成器表达式周围使用`[]` - 如果你把它关掉它会更有效率. (4认同)

S.L*_*ott 15

您可以使用map来转换列表,然后将它们连接起来.

",".join( map( str, list_of_things ) )
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这适用于任何对象(不仅仅是长).


Wee*_*ble 10

从Python 2.5开始,你可以省略heikogerlach的答案中的方括号,我想:

','.join(str(i) for i in list_of_ints)

这非常相似,但它不是构建所有字符串的(可能很大的)临时列表,而是根据join函数的需要一次生成一个.


for*_*ran 5

还有另一个版本(很酷,嗯?)

str(list_of_numbers)[1:-1]
Run Code Online (Sandbox Code Playgroud)