各文字列を文字として持つ文字列のリストがあります。単語順です。各文字を 1 つの文字列にまとめるにはどうすればよいですか。例:
list_characters = ['H', 'e', 'l', 'l', 'o']
なるために:
'Hello'
助けてください、ありがとう
各文字列を文字として持つ文字列のリストがあります。単語順です。各文字を 1 つの文字列にまとめるにはどうすればよいですか。例:
list_characters = ['H', 'e', 'l', 'l', 'o']
なるために:
'Hello'
助けてください、ありがとう
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
メソッドは、「反復」できるもの(例のリストなど)である「反復可能」を受け入れます。文字列自体も iterable であるため、次のようにすることもできます。
In [7]: s = 'Hello'
In [8]: 'Z'.join(s)
Out[8]: 'HZeZlZlZo'
上記の RocketDonkey で言及されている join() メソッドを強くお勧めしますが、別の方法は次のとおりです。
reduce(lambda acc,x:acc+x,['H', 'e', 'l', 'l', 'o'])
join()
リストのすべての要素を次のような文字列に連結するために使用する必要があります。
test = ['H', 'e', 'l' 'l', 'o']
''.join(test)
それらの間に「-」文字を入れて結合したい場合は、これを使用します。
test = ['H', 'e', 'l' 'l', 'o']
'-'.join(test)