如何在Python中将逗号分隔的字符串转换为列表?
给定一个字符串,该字符串是由逗号分隔的多个值组成的序列:如何在Python中将逗号分隔的字符串转换为列表?,python,parsing,list,tuples,Python,Parsing,List,Tuples,给定一个字符串,该字符串是由逗号分隔的多个值组成的序列: mStr = 'A,B,C,D,E' 如何将字符串转换为列表 mList = ['A', 'B', 'C', 'D', 'E'] 您可以使用str.split方法 >>> my_string = 'A,B,C,D,E' >>> my_list = my_string.split(",") >>> print my_list ['A', 'B', 'C', 'D', 'E'] 如
mStr = 'A,B,C,D,E'
如何将字符串转换为列表
mList = ['A', 'B', 'C', 'D', 'E']
您可以使用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']
对于字符串中包含的整数,如果要避免将它们单独转换为
int
,可以执行以下操作:
mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
它被称为列表理解,它基于集合生成器符号
例:
可以使用此函数将逗号分隔的单个字符串转换为列表-
def stringtolist(x):
mylist=[]
for i in range(0,len(x),2):
mylist.append(x[i])
return mylist
考虑以下事项以处理空字符串的情况:
>>> my_string = 'A,B,C,D,E'
>>> my_string.split(",") if my_string else []
['A', 'B', 'C', 'D', 'E']
>>> my_string = ""
>>> my_string.split(",") if my_string else []
[]
您可以在
,
上拆分该字符串,并直接获取列表:
mStr = 'A,B,C,D,E'
list1 = mStr.split(',')
print(list1)
输出:
['A',B',C',D',E']
您还可以将其转换为n元组:
print(tuple(list1))
输出:
('A','B','C','D','E')
但是,拆分空字符串并不会返回人们可能期望的结果:
“”。拆分(“,”
返回[“”]
(一个包含一个元素的列表,即空字符串)。希望它能解决这个问题,但请添加对代码的解释,以便用户能够完全理解他/她真正想要的。看起来像是答案的副本(9年前)。
>>> my_string = 'A,B,C,D,E'
>>> my_string.split(",") if my_string else []
['A', 'B', 'C', 'D', 'E']
>>> my_string = ""
>>> my_string.split(",") if my_string else []
[]
mStr = 'A,B,C,D,E'
list1 = mStr.split(',')
print(list1)
print(tuple(list1))