The NumPy package offers arrays, which are container structures for manipulating vectors, matrices, or even higher order tensors in mathematics. In this section, we point out the similarities between arrays and lists. But arrays deserve a broader presentation, which will be given in Chapter 4, Linear Algebra – Arrays, and Chapter 5, Advanced Array Concepts.
Arrays are constructed from lists by the function array
:
v = array([1.,2.,3.]) A = array([[1.,2.,3.],[4.,5.,6.]])
To access an element of a vector, we need one index, while an element of a matrix is addressed by two indexes:
v[2] # returns 3.0 A[1,2] # returns 6.0
At first glance, arrays are similar to lists, but be aware that they are different in a fundamental way, which can be explained by the following points:
M = array([[1.,2.],[3.,4.]]) v = array([1., 2., 3.]) v[0] # 1 v[:2] # array([1.,2.]) M[0,1] # 2 v[:2] = [10, 20] # v is now array([10., 20., 3.])
len
:
len(v) # 3
float
or complex
but also int
). Refer to section Array properties in Chapter 4, Liner Algebra – Arrays, for more information.+
, *
, /
, and -
are all elementwise. The dot
function and, in Python versions ≥ 3.5, the infix operator @
are used for the scalar product and the corresponding matrix operations.append
method for arrays. Nevertheless, there are special methods to construct arrays by stacking smaller size arrays (Refer to section Stacking in Chapter 4, Linear Algebra - Arrays, for more information.). A related point is that arrays are not elastic as lists; one cannot use slices to change their length.3.145.35.247