在python中将列表的字符串项转换为整数

在python中将列表的字符串项转换为整数,python,list,python-3.x,Python,List,Python 3.x,我有这样一份清单: ['1,2,3,4,5,6,7,8'] 这是包含字符串的长度为1的列表 我想将此列表转换为 [1,2,3,4,5,6,7,8] i、 e.8个整数的列表 >>> map(int, ['1,2,3,4,5,6,7,8'][0].split(',')) [1, 2, 3, 4, 5, 6, 7, 8] 在Python2.7.3中测试,请检查字符串的方法。您可以说类似列表[0].split',这样的话,您可以分别获取值。使用ast.literal\u ev

我有这样一份清单:

['1,2,3,4,5,6,7,8']
这是包含字符串的长度为1的列表

我想将此列表转换为

[1,2,3,4,5,6,7,8] 
i、 e.8个整数的列表

>>> map(int, ['1,2,3,4,5,6,7,8'][0].split(','))
[1, 2, 3, 4, 5, 6, 7, 8]
在Python2.7.3中测试,请检查字符串的方法。您可以说类似列表[0].split',这样的话,您可以分别获取值。

使用ast.literal\u eval:


使用split命令进行列表理解可以很好地实现这一点

>>> lst = ['1,2,3,4,5,6,7,8'][0]
>>> [int(i) for i in lst.split(',')]
[1, 2, 3, 4, 5, 6, 7, 8]

我会这样做:

textList = ['1,2,3,4,5,6,7,8']
intList = map(int, textList[0].split(','))
它实际上有两个部分-第一步是将初始列表中的唯一成员拆分为一个新的文本列表,每个元素有一个条目:

textSplitList = textList[0].split(',')
这将产生结果['1','2',…等]

第二步是将字符串列表转换为整数列表:

intList = map(int, textSplitList)

这将为您提供所需的结果[1,2,3,…等]

这将提供字符串列表,而不是整数。这是因为ast.literal_eval'1,2,3,4,5,6,7,8'将该字符串解释为元组。它在python 3.5中进行了尝试。Shell,对我不起作用。。我在这里遗漏了什么吗?>>>mapint,['1,2,3,4,5,6,7,8'][0].split','@p.ranjan在python3中,您必须明确地从map对象中创建一个列表,即listmapint,['1,2,3,4,5,6,7,8'][0].split','@p.ranjan:将整个内容包装在列表中。在Python 3中,map返回一个map对象。>>listmapint,['1,2,3,4,5,6,7,8'][0]。split','Traceback最近一次调用:文件,第1行,在listmapint中,['1,2,3,4,5,6,7,8'][0]。split','TypeError:'list'对象不可用callable@p.ranjan:重新启动解释器。您已指定给列表,因此隐藏了内置项。OP在Python 3上,因此intList=listmaint,textsplitlist可能是的重复项
intList = map(int, textSplitList)