将列表中的项目连接到字符串

有一种更简单的方法来将列表中的字符串项连接成单个字符串吗?

我可以使用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

使用join

>>> sentence = ['this','is','a','sentence']
>>> '-'.join(sentence)
'this-is-a-sentence'

将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'

对于初学者来说,了解为什么join是一个字符串方法非常有用

开始时非常奇怪,但在此之后非常有用。

连接的结果总是一个字符串,但要连接的对象可以有很多类型(生成器,列表,元组等)

.join更快,因为它只分配一次内存。 比经典连接更好。 扩展解释

一旦你了解它,这是非常舒适的,你可以做这样的技巧来添加圆括号。

  >>> ",".join("12345").join(("(",")"))
  '(1,2,3,4,5)'

  >>> lista=["(",")"]
  >>> ",".join("12345").join(lista)
  '(1,2,3,4,5)'
链接地址: http://www.djcxy.com/p/24861.html

上一篇: Concatenate item in list to strings

下一篇: How can 2 strings be concatenated?