Python中的整数数组

Ra'*_*'ed 3 python

我如何在Python代码中定义整数数组

说这个代码是否正常.或没有

pos = [int]

len = 99

for i in range (0,99):
    pos[i]=7
Run Code Online (Sandbox Code Playgroud)

car*_*arl 11

为什么不呢:

pos = [7] * 99
Run Code Online (Sandbox Code Playgroud)

在我看来,这是最蟒蛇的.


Ale*_*lli 5

import array

pos = array.array('l', 7 * [99])
Run Code Online (Sandbox Code Playgroud)

Python标准库的数组模块是制作Python 附带的数组的唯一方法(第三方模块numpy提供其他方式,但需要单独下载和安装) - 您的Q正在做什么,以及每个回答到目前为止,正在建设一个list,而不是一个array.

特别是,没有约束,pos你的Q中构建的列表和几个As只包含整数 - 而使用我给出的代码片段,你确实得到了这个约束(在这种情况下是32位有符号整数,确切地说)这严格限制了你,但也节省了一堆内存(一个整数数组应该占用整数填充列表的内存量的五分之一左右,除非列表项中有很多常年重复).

顺便说一句,如果你说出array你的意思list(以防万一list 就是你的意思),你肯定会引起很多混乱 - 说出你的意思,并说出你所说的话,在很清楚的沟通中帮助很多,不出所料! - )

  • `0 <=概率("OP表示array.array,不是列表"| code_in_the_question)<epsilon` (4认同)