简体   繁体   中英

How to have an array of arrays in Python

I'm new to python, but I'm solid in coding in vb.net. I'm trying to hold numerical values in a jagged array; to do this in vb.net I would do the following:

Dim jag(3)() as double
For I = 0 to 3
   Redim jag(i)(length of this row)
End

Now, I know python doesn't use explicit declarations like this (maybe it can, but I don't know how!). I have tried something like this;

a(0) = someOtherArray

But that doesn't work - I get the error Can't assign to function call . Any advice on a smoother way to do this? I'd prefer to stay away from using a 2D matrix as the different elements of a (ie. a(0), a(1),...) are different lengths.

From Microsoft documentation :

A jagged array is an array whose elements are arrays. The elements of a jagged array can be of different dimensions and sizes

Python documentation about Data Structures .

You could store a list inside another list or a dictionary that stores a list. Depending on how deep your arrays go, this might not be the best option.

numbersList = []

listofNumbers = [1,2,3]
secondListofNumbers = [4,5,6]

numbersList.append(listofNumbers)
numbersList.append(secondListofNumbers)

for number in numbersList:
    print(number) 

arr = [[]]

我不确定您要做什么,python 列表是动态分配的,但是如果您想要预定义的长度和维度,请使用列表推导式。

arr = [[0 for x in range(3)] for y in range(3)]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM