NameError:名称'array'未在python中定义

Tem*_*lar 10 python arrays

NameError: name 'array' is not defined想创建数组时遇到python错误,例如:

a = array([1,8,3])
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何使用数组?

wkl*_*wkl 52

您需要array从模块导入方法.

from array import array

http://docs.python.org/library/array.html

  • @Templar - Python中的`array`与C或Java等语言中的数组不完全相同,它们受到约束,您必须指定数组将保存的类型.您可以像使用其他语言中的数组一样使用列表,但除此之外,您必须指定数组包含整数.查看文档的第一部分:http://docs.python.org/library/array.html (3认同)

ste*_*eha 20

对于基本的Python,你应该使用a list(正如其他人已经注意到的).

如果您尝试使用NumPy并且想要一个NumPy数组:

import numpy as np

a = np.array([1,8,3])
Run Code Online (Sandbox Code Playgroud)

如果你不知道NumPy是什么,你可能只是想要list.


Mat*_*ick 2

如果您需要一个容器来容纳一堆东西,那么列表可能是您最好的选择:

a = [1,8,3]
Run Code Online (Sandbox Code Playgroud)

类型

dir([])
Run Code Online (Sandbox Code Playgroud)

从 Python 解释器查看列出支持的方法,例如追加、弹出、反向和排序。列表还支持列表推导式和 Python 的可迭代接口:

for x in a:
    print x

y = [x ** 2 for x in a]
Run Code Online (Sandbox Code Playgroud)

  • @Templar 不,您可以使用append方法添加到现有列表:`a = []`; `a.append(1)`; `a.append(2)`; a 现在的值为“[1,2]”。您还可以使用索引表示法访问单个元素:“print a[1]”、“a[1] = 3”或切片表示法“print a[:2]”——打印 a 的前两个元素。 (3认同)