Python中的整数数组
我该如何在Python代码中定义一个整数数组
请问这段代码是否正确?
pos = [int]
len = 99
for i in range (0,99):
pos[i]=7
6 个回答
4
在Python中,你不需要声明变量的类型,所以不需要写像pos=[int]
这样的代码。你只需要做:
pos=[]
for i in range(99):
pos.append(7)
5
import array
pos = array.array('l', 7 * [99])
Python的标准库里有一个叫做array的模块,这是创建数组的唯一方法(还有一个第三方模块叫做numpy
,它提供了其他方法,但需要单独下载和安装)。你提问的内容,以及到目前为止的所有回答,其实都是在创建一个list
,而不是一个array
。
特别要注意的是,你提问中创建的pos
列表和几个回答中的内容并没有限制只能包含整数。而我给出的代码片段则有这个限制(在这个例子中是32位的有符号整数),这虽然会让你受到一些限制,但也能节省很多内存(一个整数数组大约只需要一个装满整数的列表的五分之一的内存,除非列表里的元素有很多重复的情况)。
顺便说一下,如果你在说array
的时候其实想表达的是list
(以防list
确实是你想说的),那么你肯定会引起很多混淆——清楚地表达你的意思,确保你说的和你想的相符,这在沟通中是非常重要的,毫无疑问!
11
为什么不直接这样做呢:
pos = [7] * 99
在我看来,这种写法是最符合Python风格的。