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 |
|
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 ...