如何在 python3 中声明数组

How to declare arrays in python3

我想在 python3 中声明一个数组。我试过了,但出现错误

Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ip_pb=[]
>>> ip_pb[0]="0111111100000000000000011110001"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> 

之后,我这样做了,它正在工作

>>> ip_pb=[""]
>>> ip_pb[0]="0111111100000000000000011110001"
>>> print(ip_pb)
['0111111100000000000000011110001']

但是,我正在寻找另一种方法。如果我们不知道数组中有多少个值,我们就不能在上面的方法中声明数组。

根据您的最后一行(您不知道数组中有多少个元素),您想创建一个空数组,然后使用 append() 函数向其中添加值。

您在问题中提供的代码的修改版本:

ip_pb = []
ip_pb.append("0111111100000000000000011110001")
print(ip_pb)

如果你想以这种方式使用,你应该初始化你的数组:

>>> ip_pb = [None] * 5
>>> ip_pb
[None, None, None, None, None]
>>> ip_pb[1] = 3
>>> ip_pb
[None, 3, None, None, None]
  1. 创建空列表(数组)如x = []
  2. 添加任意数量的元素,例如 x.append(25)x.append(100)

您不需要事先知道元素的数量,但如果您想知道列表中元素的数量,请使用

print(len(x))

要打印完整列表,请使用

print(x)

分别打印每个元素

for i in x:
    print(i)

在Python中,我们通常称其为list,而不是传统的array。 Python 中的 list 始终是动态加长的,这意味着它没有固定大小,而不是所谓的 array.

对于固定大小 array,我相信 Python 本身有一个标准库,您可以将它与 import array 一起使用,但不幸的是它的数据类型有限。 array

为了简单起见,也许你可以试试这个方法:

def array(fill, n):
    return [fill] * n

a = array("", 10)
a[0] = "10010101"
a[9] = "10230123"
a[10] # IndexError