问题:将列表中的项目连接到字符串
有没有更简单的方法将列表中的字符串项连接为单个字符串?我可以使用该str.join()
功能吗?
例如,这是输入['this','is','a','sentence']
,这是所需的输出this-is-a-sentence
sentence = ['this','is','a','sentence']
sent_str = ""
for i in sentence:
sent_str += str(i) + "-"
sent_str = sent_str[:-1]
print sent_str
回答 0
用途join
:
>>> sentence = ['this','is','a','sentence']
>>> '-'.join(sentence)
'this-is-a-sentence'
回答 1
将python列表转换为字符串的更通用的方法是:
>>> my_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> my_lst_str = ''.join(map(str, my_lst))
>>> print(my_lst_str)
'12345678910'
回答 2
对于初学者来说,了解join为什么是字符串方法非常有用 。
一开始很奇怪,但此后非常有用。
连接的结果始终是一个字符串,但是要连接的对象可以有多种类型(生成器,列表,元组等)。
.join
更快,因为它只分配一次内存。比经典串联更好(请参阅扩展说明)。
一旦学习了它,它就会非常舒适,您可以执行以下技巧来添加括号。
>>> ",".join("12345").join(("(",")"))
Out:
'(1,2,3,4,5)'
>>> list = ["(",")"]
>>> ",".join("12345").join(list)
Out:
'(1,2,3,4,5)'
回答 3
尽管@Burhan Khalid的回答很好,但我认为这样更容易理解:
from str import join
sentence = ['this','is','a','sentence']
join(sentence, "-")
join()的第二个参数是可选的,默认为“”。
编辑:此功能已在Python 3中删除
回答 4
我们可以指定如何连接字符串。除了使用’-‘,我们还可以使用”
sentence = ['this','is','a','sentence']
s=(" ".join(sentence))
print(s)
回答 5
我们还可以使用Python的reduce函数:
from functools import reduce
sentence = ['this','is','a','sentence']
out_str = str(reduce(lambda x,y: x+"-"+y, sentence))
print(out_str)
回答 6
def eggs(someParameter):
del spam[3]
someParameter.insert(3, ' and cats.')
spam = ['apples', 'bananas', 'tofu', 'cats']
eggs(spam)
spam =(','.join(spam))
print(spam)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。