Python &引用;蟒蛇的;方法将逗号分隔的整数字符串解析为整数列表?

Python &引用;蟒蛇的;方法将逗号分隔的整数字符串解析为整数列表?,python,Python,我正在读取一个整数字符串,例如“3,2,6”,并希望它们作为整数出现在列表[3,2,6]中。这很容易破解,但“蟒蛇式”的破解方式是什么 mylist = [int(x) for x in '3 ,2 ,6 '.split(',')] 如果您不确定是否只有数字(或希望丢弃其他数字): 虽然自定义解决方案将教您有关Python的知识,但对于生产代码,使用csv模块是最好的主意。逗号分隔的数据可能会比最初显示的数据更复杂。我认为您的理解有点倒退:'3,2,6'。拆分(',')@orangeoctop

我正在读取一个整数字符串,例如
“3,2,6”
,并希望它们作为整数出现在列表
[3,2,6]
中。这很容易破解,但“蟒蛇式”的破解方式是什么

mylist = [int(x) for x in '3 ,2 ,6 '.split(',')]
如果您不确定是否只有数字(或希望丢弃其他数字):


虽然自定义解决方案将教您有关Python的知识,但对于生产代码,使用
csv
模块是最好的主意。逗号分隔的数据可能会比最初显示的数据更复杂。

我认为您的理解有点倒退:
'3,2,6'。拆分(',')
@orangeoctopus它工作正常,
int
whitespace@orangeoctopus,对不起,下次我会比狐狸慢…:)我知道这是一个古老的答案,但我想补充一下。如果有人需要在将输入转换为int()之前对其进行验证(如果您不这样做,则会引发异常),那么您只需在尾端fwiw添加
如果x.isdigit()
,如果您不需要处理负整数,
。isdigit
就可以了。@Matt:实际上,虽然我个人喜欢函数式,列表理解更像PythonicIs,s=“a,b;c,d”到sList=[['a','b'],['c','d']?在python3中,您必须将其包装在
list
调用中,因为
map
返回的是迭代器而不是列表。因此:
list(map(int,my_string.split(','))
@Anurag:“教他钓鱼…”-听过这个寓言吗?这就是我在这里要做的。仅仅解析一个逗号字符串很少是一个人试图解决的任务,这背后有更复杂的需求。如果我错了,没有伤害,其他答案会更简单approach@katrielalex,OP说,“我在读一串整数…”。当然,对于一个健壮的解决方案,最好按照Eli的建议使用csv模块。@Eli,我听过这个寓言,但有时对于一个非常具体的问题,我们不需要使用复杂的解决方案,比如使用csv模块读取整数列表
map( int, myString.split(',') )
map( int, myString.split(',') )