关于解析:如何在Python中将逗号分隔的字符串转换为列表?

How to convert comma-delimited string to list in Python?

给定一个字符串,该字符串由几个值组成,用逗号分隔:

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

如何将字符串转换为列表?

1
mList = ['A', 'B', 'C', 'D', 'E']


您可以使用str.split方法。

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

如果要将其转换为元组,只需

1
2
>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')

如果要附加到列表,请尝试以下操作:

1
2
3
>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']


对于包含在字符串中的整数,如果要避免单独将它们强制转换为int,可以执行以下操作:

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

它被称为列表理解,它基于集合生成器符号。

前任:

1
2
3
4
>>> 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]


1
2
3
4
>>> some_string='A,B,C,D,E'
>>> new_tuple= tuple(some_string.split(','))
>>> new_tuple
('A', 'B', 'C', 'D', 'E')


可以使用此函数将逗号分隔的单个字符串转换为列表-

1
2
3
4
5
def stringtolist(x):
    mylist=[]
    for i in range(0,len(x),2):
        mylist.append(x[i])
    return mylist