0

我有一个字符串列表,每个字符串作为一个字符。它们是按单词顺序排列的。如何将每个字符放在一个字符串中。例子:

list_characters = ['H', 'e', 'l', 'l', 'o']

成为:

'Hello'

请帮忙,谢谢

4

4 回答 4

11
In [1]: s = ['H', 'e', 'l', 'l', 'o']

In [2]: ''.join(s)
Out[2]: 'Hello'

join方法与您可能熟悉的其他方法有些不同,因为您首先将要使用的元素“连接”在一起,然后在其上调用该方法。以下是更多示例:

In [4]: print '\n'.join(s)
H
e
l
l
o

In [5]: ' '.join(s)
Out[5]: 'H e l l o'

In [6]: 'GOODBYE'.join(s)
Out[6]: 'HGOODBYEeGOODBYElGOODBYElGOODBYEo'

join方法接受任何“可迭代”,这是您可以“迭代”的任何内容(例如列表,如您的示例中所示)。字符串本身也是可迭代的,所以你甚至可以这样做:

In [7]: s = 'Hello'

In [8]: 'Z'.join(s)
Out[8]: 'HZeZlZlZo'
于 2012-12-31T02:48:08.127 回答
2

虽然我强烈推荐上面 RocketDonkey 提到的 join() 方法,但另一种方法是:

reduce(lambda acc,x:acc+x,['H', 'e', 'l', 'l', 'o'])
于 2012-12-31T03:50:02.990 回答
0

您需要使用join()将列表的所有元素连接成这样的字符串:

test = ['H', 'e', 'l' 'l', 'o']
''.join(test)

如果您想在它们之间加入“-”字符,请使用以下命令:

   test = ['H', 'e', 'l' 'l', 'o']
   '-'.join(test)
于 2012-12-31T03:21:30.080 回答
0

您可以通过各种方法将列表的元素连接成一个字符串:

  1. 通过遍历列表
str=""
for i in list:
    str+=i
print(str)      #hello
  1. 使用内置函数“join()”
list = ['h', 'e', 'l', 'l', 'o']
str=""
print("".join(list))       #hello
  1. 使用列表理解
str = "".join([str(elem) for elem in list]) 
print(str)       #hello
  1. 使用 map() 函数
str = ''.join(map(str, list)) 
print(str)       #hello

#注意:如果您也有 int 元素,可以使用最后两种方法,因为 Python 不允许连接具有不同数据类型的元素。

于 2020-06-21T23:26:31.210 回答