3

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.

user6916458
  • 400
  • 2
  • 7
  • 19

2 Answers2

4

arr = [[]]

I'm not sure what you're trying to do, python lists is dynamically assigned, but if you want a predefined length and dimension use list comprehensions.

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

3

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)