web-dev-qa-db-ja.com

Pythonでコンマ区切りの文字列をリストに変換するにはどうすればよいですか?

コンマで区切られた複数の値のシーケンスである文字列を指定します。

mStr = 'A,B,C,D,E' 

文字列をリストに変換するにはどうすればよいですか?

mList = ['A', 'B', 'C', 'D', 'E']
137
O.rka

Str.splitメソッドを使用できます。

>>> my_string = 'A,B,C,D,E'
>>> my_list = my_string.split(",")
>>> print my_list
['A', 'B', 'C', 'D', 'E']

タプルに変換したい場合は、

>>> print Tuple(my_list)
('A', 'B', 'C', 'D', 'E')

リストに追加する場合は、これを試してください:

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
213
Matt Williamson

文字列に含まれる整数の場合、それらを個別にintにキャストしないようにするには、次のようにします。

mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]

これはlist comprehensionと呼ばれ、set builder表記法に基づいています。

例:

>>> mStr = "1,A,B,3,4"
>>> mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
>>> mList
>>> [1,'A','B',3,4]
11
>>> some_string='A,B,C,D,E'
>>> new_Tuple= Tuple(some_string.split(','))
>>> new_Tuple
('A', 'B', 'C', 'D', 'E')
4

この関数を使用して、カンマ区切りの単一文字列をリストに変換できます-

def stringtolist(x):
    mylist=[]
    for i in range(0,len(x),2):
        mylist.append(x[i])
    return mylist
0
Hemang Jalali