给定一个字符串,该字符串是由逗号分隔的多个值的序列:
mStr = 'A,B,C,D,E'
如何将字符串转换为列表?
mList = ['A', 'B', 'C', 'D', 'E']
答案 0 :(得分:209)
您可以使用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']
答案 1 :(得分:10)
如果字符串中包含整数,如果您想避免将它们单独转换为int
,则可以执行以下操作:
mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
它被称为 list comprehension ,它基于set builder notation。
前:
>>> 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]
答案 2 :(得分:4)
>>> some_string='A,B,C,D,E'
>>> new_tuple= tuple(some_string.split(','))
>>> new_tuple
('A', 'B', 'C', 'D', 'E')
答案 3 :(得分:2)
请考虑以下内容以处理空字符串的情况:
>>> 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 []
[]
答案 4 :(得分:0)
您可以使用此功能将以逗号分隔的单个字符串转换为列表-
def stringtolist(x):
mylist=[]
for i in range(0,len(x),2):
mylist.append(x[i])
return mylist
答案 5 :(得分:0)
char num[1001];
int digit[10];
int j,i;
int count;
scanf("%s",num);
for(i=48;i<=57;i++)
{
count = 0;
for(j=0; num[j] != EOF;j++)
{
if(num[j] - '0' == i / 10 && num[j+1] - '0' == i % 10)
{
printf("%c", num[j] - '0');
count++;
}
}
printf("%d: %d \n",i, count);
}
printf("\n");
return 0;
// This code will print the digits and the frequency in a new line:
48: n times
49: n times
.
.
.
57: n times
答案 6 :(得分:-1)
您可以在,
上拆分该字符串并直接获取列表:
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')