Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将逗号分隔的字符串转换为列表?_Python_Parsing_List_Tuples - Fatal编程技术网

如何在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))