tea*_*eef 0 python string list
在Python中将列表"拆分"为字符串的最简单方法是什么?
要从字符串创建列表:
s='1\t2\t3\t4'
Run Code Online (Sandbox Code Playgroud)
我们用:
s.split('\t',-1)
Run Code Online (Sandbox Code Playgroud)
我尝试将split函数用于列表:
l=[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
得到一个字符串:
s='1\t2\t3\t4'
Run Code Online (Sandbox Code Playgroud)
但我AttributeError知道列表没有属性拆分.
str.split是一种仅在str类型上可用的方法.它的工作原理在文档中解释:
str.split([sep[, maxsplit]])使用
sep分隔符字符串返回字符串中单词的列表.如果maxsplit给出,则最多maxsplit完成拆分(因此,列表将具有最多maxsplit+1元素).如果maxsplit未指定或-1,则对分割数量没有限制(进行所有可能的分割).
你想在这里使用的是str.join:
>>> l = [1, 2, 3, 4]
>>> map(str, l) # Just to demonstrate
['1', '2', '3', '4']
>>> '\t'.join(map(str, l))
'1\t2\t3\t4'
>>>
Run Code Online (Sandbox Code Playgroud)
根据文件:
str.join(iterable)返回一个字符串,该字符串是iterable中字符串的串联
iterable.元素之间的分隔符是提供此方法的字符串.
在上面的示例中,str.join获取返回的字符串列表map(str, l):
['1', '2', '3', '4']
Run Code Online (Sandbox Code Playgroud)
并将所有项目连接在一起,将每个项目分开\t.结果是字符串:
'1\t2\t3\t4'
Run Code Online (Sandbox Code Playgroud)
此外,如果您想知道,map正在上面的示例中使用将整数列表转换为字符串列表.另一种方法是使用列表理解:
>>> l = [1, 2, 3, 4]
>>> '\t'.join([str(x) for x in l])
'1\t2\t3\t4'
>>>
Run Code Online (Sandbox Code Playgroud)
两种解决方案大致相同,但您需要使用其中一种,因为str.join需要可迭代的字符串.