The array Module

The array module supplies a type, also called array, whose instances are mutable sequences, like lists. An array a is a one-dimensional sequence whose items can be only characters, or only numbers of one specific numeric type that is fixed when a is created.

The extension module Numeric, covered later in this chapter, also supplies a type called array that is far more powerful than array.array. For advanced array operations and multidimensional arrays, I recommend Numeric even if your array elements are not numbers.

array.array is a simple type, whose main advantage is that, compared to a list, it can save memory to hold objects all of the same (numeric or character) type. An array object a has a one-character read-only attribute a .typecode, set when a is created, that gives the type of a’s items. Table 15-2 shows the possible type codes for array.

Table 15-2. Type codes for the array module

Type code

C type

Python type

Minimum size

'c'
char

str (length 1)

1 byte

'b'
char
int

1 byte

'B'
unsigned char
int

1 byte

'h'
short
int

2 bytes

'H'
unsigned short
int

2 bytes

'i'
int
int

2 bytes

'I'
unsigned
long

2 bytes

'l'
long
int

4 bytes

'L'
unsigned long
long

4 bytes

'f'
float
float

4 bytes

'd'
double
float

8 bytes

The size in bytes of each item may be larger than the minimum, depending on the machine’s architecture, and is available as the read-only attribute a .itemsize. Module array supplies just one function, a factory ...

Get Python in a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.