将数组转换为列表并删除字符串

时间:2019-01-31 05:21:10

标签: python arrays list

如何将数组转换为整数列表(是否使用Numpy)?

从数组中提取数据时,得到以下结果 e = ['100''88''45''59''73''89']

然后我使用.tolist()函数将数组转换为列表,以获取以下输出

e = ['100', '88', '45', '59', '73', '89']

现在,当我尝试使用list(map(int,e)删除列表''中列表中项目的引号时,我得到了'numpy.ndarray'对象不是可调用错误。 请帮助我解决此问题。

e = a[1:,1]
e = e.tolist()
e = list(map(int,e))

2 个答案:

答案 0 :(得分:2)

简单的list-comrehension在这里可以工作:

e = ['100', '88', '45', '59', '73', '89']
e = [int(i) for i in e]
print(e)

输出:

[100, 88, 45, 59, 73, 89]

答案 1 :(得分:2)

除了列表理解之外,map在这里也可以工作:

e = ['100', '88', '45', '59', '73', '89']
e = list(map(int, e))
print(e) # [100, 88, 45, 59, 73, 89]

您的代码出现此错误的原因是您在某处覆盖了listmap(很可能是list,这个错误很常见)。实际上,您正在执行以下操作:

list = 42
list('foo')

减少到

42('foo')

这将产生int not callable错误。就您而言,您将listmap重新定义为一个numpy数组。