Array Objects
Numeric
supplies a type array
that represents a grid of items. An array
object a
has a given number of dimensions, known as its rank, up to some arbitrarily high limit (normally 30
, when Numeric
is built with default options). A scalar (i.e., a single number) has rank 0
, a vector has rank 1
, a matrix has rank 2
, and so forth.
Typecodes
The values in the grid cells of an array
object, known as the elements of the array, are homogeneous, meaning they are all of the same type, and all element values are stored within one memory area. This contrasts with a list, where items may be of different types, each stored as a separate Python object. This means a Numeric
array occupies far less memory than a Python list with the same number of items. The type of a
’s elements is encoded as a
’s typecode, a one-character string, as shown in Table 16-2. Factory functions that build array
instances (covered in Factory Functions) take a typecode
argument that is one of the values in Table 16-2.
Table 16-2. Typecodes for Numeric arrays
Typecode | C type | Python type | Synonym |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Two |
|
|
|
|
|
|
| Two |
|
|
|
|
|
|
Numeric
supplies readable attribute names for each typecode, as shown in the last column of Table 16-2. Numeric
also supplies, ...
Get Python in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.