名称错误:名称';数组';未在python中定义
我得到名称错误:名称';数组';未在python中定义,python,arrays,Python,Arrays,我得到namererror:name“array”没有在python错误中定义,当我想创建数组时,例如: a = array([1,8,3]) 我做错了什么?如何使用数组?您需要从模块中导入array方法 从数组导入数组 您可能不需要阵列。尝试使用列表: a = [1,8,3] Python列表在许多其他语言中的表现类似于动态数组。如果您需要一个容器来容纳一堆东西,那么列表可能是您最好的选择: a = [1,8,3] 类型 从Python解释器查看列出支持的方法,例如append、pop、
namererror:name“array”没有在python错误中定义,当我想创建数组时,例如:
a = array([1,8,3])
我做错了什么?如何使用数组?您需要从模块中导入array
方法
从数组导入数组
您可能不需要阵列。尝试使用列表:
a = [1,8,3]
Python列表在许多其他语言中的表现类似于动态数组。如果您需要一个容器来容纳一堆东西,那么列表可能是您最好的选择:
a = [1,8,3]
类型
从Python解释器查看列出支持的方法,例如append、pop、reverse和sort。
列表还支持列表理解和Python的iterable接口:
for x in a:
print x
y = [x ** 2 for x in a]
对于基本Python,您应该只使用列表
(其他人已经注意到)
如果您试图使用NumPy,并且希望使用NumPy阵列:
import numpy as np
a = np.array([1,8,3])
如果您不知道NumPy是什么,您可能只需要列表
,那么我会得到以下错误类型error:array()参数1必须是char,而不是list@Templar-Python中的数组
与C或Java等语言中的数组并不完全相同,它们受到约束,您必须指定数组将包含的类型。您可以像在其他语言中使用数组一样使用列表,但除此之外,您必须指定数组包含整数。查看文档的第一部分:primes=array('i',[2,3,5,7,11,13])您实际上需要一个数组,还是只需要一个列表?numpy还有一个数组函数。这就是你的意思吗?如果是这样的话,您可能需要使用名称空间作为前缀。我可以插入像范围(10)中的i那样的列表吗:a[i]=b?@Templara=[b for i in range(10)]
这将创建一个新的列表[b,b,b,b,b,b,b,b],所以这意味着如果我想这样使用它,首先我必须用一些随机的东西填充列表?@Templar no,您可以使用append方法添加到现有列表中:a=[]
<代码>附加(1)
<代码>附加(2);a现在具有值[1,2]
。您还可以使用索引表示法访问单个元素:print a[1]
,a[1]=3
,或切片表示法print a[:2]
——打印a的前两个元素。这并没有回答原始问题。投票率最高的答案实际上回答了问题。保持…防御性和冷静。我只想补充一点,即混淆可能来自以下事实:numpy数组输出为数组([1,2,3])
,但是您必须将它们输入为np.array([1,2,3])。(导入后,将numpy导入为np
)
import numpy as np
a = np.array([1,8,3])