python TypeError:list indices必须是整数,而不是list

时间:2015-02-21 21:15:25

标签: python

TypeError: list indices must be integers, not list

这是问题孩子;

['19 16 7 197 161 127 38 28 18 180 119 90 202 124 102 215 151 116 255 235 208 252 216 192 244 208 174 84 36 26 193 158 126 170 118 81'] <type 'list'>

以字符串形式打印到文件中。如您所见,它是一个由数字组成的列表,但未标识为整数。当数据设置为numpy模块和corrcoef()函数时,我收到错误消息。

如果你能帮助我理解这一点,很酷,谢谢你。加里

我尝试过的事情是:

a = [a**i for i in a1]
a = list(map(int,a1))
a = [a1[i] for i in a1]
a = [int(i) for i in a1]

2 个答案:

答案 0 :(得分:1)

我不太明白你想用给定列表做什么,但是如果你想将它转换成整数列表,你可以做以下事情;

a = ['19 16 7 197 161 127 38 28 18 180 119 90 202 124 102 215 151 116 255 235 208 252 216 192 244 208 174 84 36 26 193 158 126 170 118 81']
a = map(int, a[0].split())

答案 1 :(得分:0)

所以试试这个:

import re

a = re.findall(r'\d+', a[0]) # regex better for parsing more complex

或试试这个:

a = [int(i) for i in a.split()] # a bit simpler in this scenario