如何将列表转换为字符串[重复]

Posted

技术标签:

【中文标题】如何将列表转换为字符串[重复]【英文标题】:How to convert list to string [duplicate] 【发布时间】:2011-08-02 21:31:26 【问题描述】:

如何使用 Python 将列表转换为字符串?

【问题讨论】:

str(anything) 会将任何 python 对象转换为其字符串表示形式。与执行print(anything) 时得到的输出类似,但作为字符串。 因此,一种与此不同的方法是建议使用 json 来做到这一点,例如 ***.com/questions/17796446/…。使用 json 可以轻松实现反向过程(字符串到列表)。但是OP确实确实需要解释自己。是为了展示还是其他用途? 请举例说明你想要的格式。 【参考方案1】:

通过使用''.join

list1 = ['1', '2', '3']
str1 = ''.join(list1)

或者如果列表是整数,在加入之前转换元素。

list1 = [1, 2, 3]
str1 = ''.join(str(e) for e in list1)

【讨论】:

@SenthilKumaran 如果生成的字符串需要单独的项目,例如将文件列表传递给进程时,则必须将“”更改为“”(注意引号之间的空格)。否则,你会得到一个连续的字符串(“123”而不是“1 2 3”)。如果这是有意为之,则可以,但需要在回复中提及。 只是要指出第二种形式几乎适用于任何(单深度)列表。 我在这里寻找这个并找到它elsewhere:如果你想为每个列表元素换行(可能对长字符串列表有用):print ("\n".join(['I', 'would', 'expect', 'multiple', 'lines'])) 这个问题可能是重复的,但这里的答案比那里好。 :) 另外,这与其他搜索结果不同,它在 google 上作为最高结果弹出。 (我注意到很多受骗者) 同意@Bogdan。这个答案创建了一个字符串,其中列表元素连接在一起,中间没有空格或逗号。您可以使用', '.join(list1) 以逗号和空格连接列表的元素,或使用' '.join(to) 仅以空格连接【参考方案2】:
>>> L = [1,2,3]       
>>> " ".join(str(x) for x in L)
'1 2 3'

【讨论】:

我建议使用:>>> " ".join([str(x) for x in L])【参考方案3】:
L = ['L','O','L']
makeitastring = ''.join(map(str, L))

【讨论】:

它抛出 TypeError 异常,像这样:在 [15]: L=['1','2','3'] 在 [16]: print ''.join(map (str,L)) -------------------------------------------- ------------------------------- TypeError Traceback (最近一次调用最后) in () ----> 1 print ''.join(map(str,L)) TypeError: 'str' object is not callable 由于问题中没有具体说明...如果您想在列表项上保留单字符串引号(例如,用于向 SQL 发送查询),您可以执行以下操作. x = [1,2,3]y = "'" + "','".join(map(str, x)) + "'" 任何在将列表转换为字符串后尝试重新使用字符串的人都可以使用这个方法:list1 = [1, 2, 3] str1 = ''.join('hello world' + str(e) + 'hello world' for e in list1) 输出 =========== hello world 1 hello world hello world 2 hello world hello world 3 hello world

以上是关于如何将列表转换为字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将列表转换为字符串[重复]

将字符列表转换为字符串[重复]

将字符串列表转换为一个字符串[重复]

Python:将字符串列表转换为布尔值,其中布尔值以字符串形式存在[重复]

如何在Python中将字符串列表转换为字典列表[重复]

将列表转换为字符串或单词[重复]