私はこのような文字列を持っています(n個の要素を持つ):
input = 'John, 16, random_word, 1, 6, ...'
どうすればこのようなリストに変換できますか?'、'を区切り文字にします。
output = [John, 16, random_word, 1, 6, ...]
私はこのような文字列を持っています(n個の要素を持つ):
input = 'John, 16, random_word, 1, 6, ...'
どうすればこのようなリストに変換できますか?'、'を区切り文字にします。
output = [John, 16, random_word, 1, 6, ...]
使用することはできますinput.split(',')
が、他の人が指摘しているように、先頭と末尾のスペースを処理する必要があります。考えられる解決策は次のとおりです。
正規表現なし:
In [1]: s = 'John, 16, random_word, 1, 6, ...'
In [2]: [subs.strip() for subs in s.split(',')]
Out[2]: ['John', '16', 'random_word', '1', '6', '...']
ここで行ったことは、リスト内包表記を使用することです。リスト内包s.split(',')
表記では、文字列のメソッドを呼び出して、からの文字列から要素が作成されるリストを作成しstrip
ました。これは同等です
strings = []
for subs in s.split(','):
strings.append(subs)
print(subs)
正規表現付き:
In [3]: import re
In [4]: re.split(r',\s*', s)
Out[4]: ['John', '16', 'random_word', '1', '6', '...']
また、組み込み関数input
をシャドウイングしているため、変数名として使用しないようにしてください。
split
だけにすることもでき', '
ますが、コンマの後に常にスペースがあることを絶対に確認する必要があります(改行などについて考えてください)。
あなたはどういう意味output = ['John', '16', 'random_word', '1', '6', ...]
ですか?のように分割できますoutput = inpt.split(', ')
。これにより、。の後の空白も削除され,
ます。
分割機能を使用します。
output = input.split(', ')
私が正しく理解している場合は、次のようにしてください。
output = input.split(',')
split
空白を気にしないので、おそらく後で結果の各文字列をトリミングする必要があります。
よろしく、マット