[Solved] Python arrays in numpy


Perhaps the closest thing in Python to this Javascript array behavior is a dictionary. It’s a hashed mapping.

defaultdict is a dictionary that implements a default value.

In [1]: from collections import defaultdict
In [2]: arr = defaultdict(bool)

Insert a couple of True elements:

In [3]: arr[10] = True
In [4]: arr
Out[4]: defaultdict(bool, {10: True})
In [5]: arr[20] = True
In [6]: arr
Out[6]: defaultdict(bool, {10: True, 20: True})

Fetching some other element returns the default (False in this case), and adds it to the dictionary:

In [7]: arr[3]
Out[7]: False
In [8]: arr
Out[8]: defaultdict(bool, {3: False, 10: True, 20: True})

defaultdict(list) is a handy way of collecting values in lists within the dictionary. defaultdict(int) implements a counter.

numpy arrays have a fixed size, and specified dtype:

In [21]: x = np.zeros(8, bool)
In [22]: x[5]=True
In [23]: x
Out[23]: array([False, False, False, False, False,  True, False, False])

You can make a new array by concatenating with something else (forget the np.append function).

Python lists can be initialed to a empty size, alist= [], and can grow with append or extend. But you can’t grow the list by indexing.

0

solved Python arrays in numpy