Python 字符串到字符串和整数列表

Python 字符串到字符串和整数列表,python,string,list,Python,String,List,我有一个字符串'3,M,8,M',想把它转换成一个列表[3,'M',8,'M']。有人知道我该怎么做吗 提前非常感谢 您可以将拆分与列表理解相结合: '3,M,8,M'.split(',') # Out[4]: ['3', 'M', '8', 'M'] [int(x) if x.isdigit() else x for x in '3,M,8,M'.split(',')] # Out[5]: [3, 'M', 8, 'M'] 由于isnumeric()如果存在像分数这样的字符,而这些字符不能

我有一个字符串
'3,M,8,M'
,想把它转换成一个列表
[3,'M',8,'M']
。有人知道我该怎么做吗


提前非常感谢

您可以将拆分与列表理解相结合:

'3,M,8,M'.split(',')
# Out[4]: ['3', 'M', '8', 'M']

[int(x) if x.isdigit() else x for x in '3,M,8,M'.split(',')]
# Out[5]: [3, 'M', 8, 'M']

由于
isnumeric()
如果存在像分数这样的字符,而这些字符不能与
int()
一起使用,那么
isdigit()
可能是一个更好的选择。@Fredrarson,很有意思。我必须查一下,但在这种情况下,两者几乎没有区别。因为
isnumeric()
不检查浮点数,所以区别在于isnumeric还可以检测其他语言的数字,例如:
'一二三四五'.isnumeric()
与:
'一二三四五'.isdigit()
不幸的是,它们中的任何一个都不包括float,甚至不包括在
中。isdecimal()