Python中的整数数组

4 投票
6 回答
22225 浏览
提问于 2025-04-15 23:07

我该如何在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风格的。

撰写回答