web-dev-qa-db-ja.com

Python

次のような入力文字列があります。

pentavac-xim, revaxis, tetravac-xim
imovax polio, pediacel
act-hib, rage diploide
imogam rage pa, imovax polio
dt vax, tetavax

出力文字列を次のように表示します。

['pentavac-xim', 'revaxis', 'tetravac-xim']
['imovax polio', 'pediacel']
['act-hib', 'rage diploide']
['imogam rage pa', 'imovax polio']
['dt vax', 'tetavax']

問題は、入力文字列で分割を使用すると、単一の文字列として扱われるべき製品が2つの個別の文字列に変換されることです。例:

imogam rage pa = ['imogam'、 'rage'、 'pa']これは正しくありません。 ['imogam rage pa']である必要があります。これを解決する方法

3
Swordsman

あなたは次のようなことを試すことができます:

input_string = 'pentavac-xim, revaxis, tetravac-xim'
output = input_string.split(', ')
print(output)

出力:['pentavac-xim'、 'revaxis'、 'tetravac-xim']

3
Reedinationer

コンマで分割しても問題ありません。これはうまくいくはずです:

some_string = "imogam rage pa, imovax polio"
print(some_string.split(', '))

出力:

['imogam rage pa', 'imovax polio']
4

.split()を引数なしで使用すると、スペース文字を使用して分割されます。分割する文字を指定する必要があります。あなたの例では、このようにコンマ文字で分割する必要があります

s = "imogam rage pa, imovax polio"
print(s.split(', '))
['imogam rage pa', 'imovax polio']
3
Manu

文字列全体を部分文字列に分割するsplit関数を使用します。また、部分文字列から先頭のスペースを削除するlstrip関数を使用しています。

コード:

string = 'pentavac-xim, revaxis, tetravac-xim'
value = input_string.split(',')
result = [i.lstrip() for i in output]
print(result)

出力:

['pentavac-xim', 'revaxis', 'tetravac-xim'] 
3
Usman