2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
:mod:`array` --- Efficient arrays of numeric values
|
|
|
|
===================================================
|
|
|
|
|
|
|
|
.. module:: array
|
2008-03-29 07:42:07 -03:00
|
|
|
:synopsis: Space efficient arrays of uniformly typed numeric values.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. index:: single: arrays
|
|
|
|
|
2008-03-29 08:46:18 -03:00
|
|
|
This module defines an object type which can compactly represent an array of
|
2007-08-15 11:28:01 -03:00
|
|
|
basic values: characters, integers, floating point numbers. Arrays are sequence
|
|
|
|
types and behave very much like lists, except that the type of objects stored in
|
|
|
|
them is constrained. The type is specified at object creation time by using a
|
|
|
|
:dfn:`type code`, which is a single character. The following type codes are
|
|
|
|
defined:
|
|
|
|
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| Type code | C Type | Python Type | Minimum size in bytes |
|
|
|
|
+===========+================+===================+=======================+
|
|
|
|
| ``'c'`` | char | character | 1 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'b'`` | signed char | int | 1 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'B'`` | unsigned char | int | 1 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
Merged revisions 73286,73294,73296,73459,73462-73463,73544,73576-73577,73595-73596,73693-73694,73704-73705,73707,73713,73937-73940,73945,73951,73979 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73286 | georg.brandl | 2009-06-08 09:57:35 +0200 (Mo, 08 Jun 2009) | 1 line
Remove period from end of headings.
........
r73294 | georg.brandl | 2009-06-08 15:34:52 +0200 (Mo, 08 Jun 2009) | 1 line
#6194: O_SHLOCK/O_EXLOCK are not really more platform independent than lockf().
........
r73296 | georg.brandl | 2009-06-08 18:03:41 +0200 (Mo, 08 Jun 2009) | 1 line
#6238: add fillchar to string.just function family.
........
r73459 | raymond.hettinger | 2009-06-17 03:43:47 +0200 (Mi, 17 Jun 2009) | 1 line
Add usage note.
........
r73462 | georg.brandl | 2009-06-17 11:36:21 +0200 (Mi, 17 Jun 2009) | 1 line
#6295: clarify blocking behavior of getch().
........
r73463 | georg.brandl | 2009-06-17 11:43:31 +0200 (Mi, 17 Jun 2009) | 1 line
#6255: document PyInt_FromSize_t.
........
r73544 | georg.brandl | 2009-06-24 08:41:19 +0200 (Mi, 24 Jun 2009) | 1 line
#6332: fix word dupes throughout the source.
........
r73576 | benjamin.peterson | 2009-06-27 01:37:06 +0200 (Sa, 27 Jun 2009) | 1 line
document is_declared_global()
........
r73577 | benjamin.peterson | 2009-06-27 16:16:23 +0200 (Sa, 27 Jun 2009) | 1 line
link to extensive generator docs in the reference manual
........
r73595 | ezio.melotti | 2009-06-28 01:45:39 +0200 (So, 28 Jun 2009) | 1 line
stmt and setup can contain multiple statements, see #5896
........
r73596 | ezio.melotti | 2009-06-28 02:07:45 +0200 (So, 28 Jun 2009) | 1 line
Fixed a wrong apostrophe
........
r73693 | jesse.noller | 2009-06-29 20:20:34 +0200 (Mo, 29 Jun 2009) | 1 line
Bug 5906: add a documentation note for unix daemons vs. multiprocessing daemons
........
r73694 | jesse.noller | 2009-06-29 20:24:26 +0200 (Mo, 29 Jun 2009) | 1 line
Issue 5740: multiprocessing.connection.* authkey fixes
........
r73704 | georg.brandl | 2009-06-30 18:15:43 +0200 (Di, 30 Jun 2009) | 1 line
#6376: fix copy-n-paste oversight.
........
r73705 | georg.brandl | 2009-06-30 18:17:28 +0200 (Di, 30 Jun 2009) | 1 line
#6374: add a bit of explanation about shell=True on Windows.
........
r73707 | georg.brandl | 2009-06-30 18:35:11 +0200 (Di, 30 Jun 2009) | 1 line
#6371: fix link targets.
........
r73713 | ezio.melotti | 2009-07-01 00:56:16 +0200 (Mi, 01 Jul 2009) | 1 line
Fixed a backslash that was not supposed to be there
........
r73937 | georg.brandl | 2009-07-11 12:12:36 +0200 (Sa, 11 Jul 2009) | 1 line
Fix style.
........
r73938 | georg.brandl | 2009-07-11 12:14:54 +0200 (Sa, 11 Jul 2009) | 1 line
#6446: fix import_spam() function to use correct error and reference handling.
........
r73939 | georg.brandl | 2009-07-11 12:18:10 +0200 (Sa, 11 Jul 2009) | 1 line
#6448: clarify docs for find_module().
........
r73940 | georg.brandl | 2009-07-11 12:37:38 +0200 (Sa, 11 Jul 2009) | 1 line
#6430: add note about size of "u" type.
........
r73945 | georg.brandl | 2009-07-11 12:51:31 +0200 (Sa, 11 Jul 2009) | 1 line
#6456: clarify the meaning of constants used as arguments to nl_langinfo().
........
r73951 | georg.brandl | 2009-07-11 16:23:38 +0200 (Sa, 11 Jul 2009) | 2 lines
array.array is actually a class.
........
r73979 | benjamin.peterson | 2009-07-12 18:56:54 +0200 (So, 12 Jul 2009) | 1 line
add versionadded
........
2009-10-27 11:29:22 -03:00
|
|
|
| ``'u'`` | Py_UNICODE | Unicode character | 2 (see note) |
|
2007-08-15 11:28:01 -03:00
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'h'`` | signed short | int | 2 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'H'`` | unsigned short | int | 2 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'i'`` | signed int | int | 2 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'I'`` | unsigned int | long | 2 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'l'`` | signed long | int | 4 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'L'`` | unsigned long | long | 4 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'f'`` | float | float | 4 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
| ``'d'`` | double | float | 8 |
|
|
|
|
+-----------+----------------+-------------------+-----------------------+
|
|
|
|
|
Merged revisions 73286,73294,73296,73459,73462-73463,73544,73576-73577,73595-73596,73693-73694,73704-73705,73707,73713,73937-73940,73945,73951,73979 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73286 | georg.brandl | 2009-06-08 09:57:35 +0200 (Mo, 08 Jun 2009) | 1 line
Remove period from end of headings.
........
r73294 | georg.brandl | 2009-06-08 15:34:52 +0200 (Mo, 08 Jun 2009) | 1 line
#6194: O_SHLOCK/O_EXLOCK are not really more platform independent than lockf().
........
r73296 | georg.brandl | 2009-06-08 18:03:41 +0200 (Mo, 08 Jun 2009) | 1 line
#6238: add fillchar to string.just function family.
........
r73459 | raymond.hettinger | 2009-06-17 03:43:47 +0200 (Mi, 17 Jun 2009) | 1 line
Add usage note.
........
r73462 | georg.brandl | 2009-06-17 11:36:21 +0200 (Mi, 17 Jun 2009) | 1 line
#6295: clarify blocking behavior of getch().
........
r73463 | georg.brandl | 2009-06-17 11:43:31 +0200 (Mi, 17 Jun 2009) | 1 line
#6255: document PyInt_FromSize_t.
........
r73544 | georg.brandl | 2009-06-24 08:41:19 +0200 (Mi, 24 Jun 2009) | 1 line
#6332: fix word dupes throughout the source.
........
r73576 | benjamin.peterson | 2009-06-27 01:37:06 +0200 (Sa, 27 Jun 2009) | 1 line
document is_declared_global()
........
r73577 | benjamin.peterson | 2009-06-27 16:16:23 +0200 (Sa, 27 Jun 2009) | 1 line
link to extensive generator docs in the reference manual
........
r73595 | ezio.melotti | 2009-06-28 01:45:39 +0200 (So, 28 Jun 2009) | 1 line
stmt and setup can contain multiple statements, see #5896
........
r73596 | ezio.melotti | 2009-06-28 02:07:45 +0200 (So, 28 Jun 2009) | 1 line
Fixed a wrong apostrophe
........
r73693 | jesse.noller | 2009-06-29 20:20:34 +0200 (Mo, 29 Jun 2009) | 1 line
Bug 5906: add a documentation note for unix daemons vs. multiprocessing daemons
........
r73694 | jesse.noller | 2009-06-29 20:24:26 +0200 (Mo, 29 Jun 2009) | 1 line
Issue 5740: multiprocessing.connection.* authkey fixes
........
r73704 | georg.brandl | 2009-06-30 18:15:43 +0200 (Di, 30 Jun 2009) | 1 line
#6376: fix copy-n-paste oversight.
........
r73705 | georg.brandl | 2009-06-30 18:17:28 +0200 (Di, 30 Jun 2009) | 1 line
#6374: add a bit of explanation about shell=True on Windows.
........
r73707 | georg.brandl | 2009-06-30 18:35:11 +0200 (Di, 30 Jun 2009) | 1 line
#6371: fix link targets.
........
r73713 | ezio.melotti | 2009-07-01 00:56:16 +0200 (Mi, 01 Jul 2009) | 1 line
Fixed a backslash that was not supposed to be there
........
r73937 | georg.brandl | 2009-07-11 12:12:36 +0200 (Sa, 11 Jul 2009) | 1 line
Fix style.
........
r73938 | georg.brandl | 2009-07-11 12:14:54 +0200 (Sa, 11 Jul 2009) | 1 line
#6446: fix import_spam() function to use correct error and reference handling.
........
r73939 | georg.brandl | 2009-07-11 12:18:10 +0200 (Sa, 11 Jul 2009) | 1 line
#6448: clarify docs for find_module().
........
r73940 | georg.brandl | 2009-07-11 12:37:38 +0200 (Sa, 11 Jul 2009) | 1 line
#6430: add note about size of "u" type.
........
r73945 | georg.brandl | 2009-07-11 12:51:31 +0200 (Sa, 11 Jul 2009) | 1 line
#6456: clarify the meaning of constants used as arguments to nl_langinfo().
........
r73951 | georg.brandl | 2009-07-11 16:23:38 +0200 (Sa, 11 Jul 2009) | 2 lines
array.array is actually a class.
........
r73979 | benjamin.peterson | 2009-07-12 18:56:54 +0200 (So, 12 Jul 2009) | 1 line
add versionadded
........
2009-10-27 11:29:22 -03:00
|
|
|
.. note::
|
|
|
|
|
|
|
|
The ``'u'`` typecode corresponds to Python's unicode character. On narrow
|
|
|
|
Unicode builds this is 2-bytes, on wide builds this is 4-bytes.
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
The actual representation of values is determined by the machine architecture
|
|
|
|
(strictly speaking, by the C implementation). The actual size can be accessed
|
|
|
|
through the :attr:`itemsize` attribute. The values stored for ``'L'`` and
|
|
|
|
``'I'`` items will be represented as Python long integers when retrieved,
|
|
|
|
because Python's plain integer type cannot represent the full range of C's
|
|
|
|
unsigned (long) integers.
|
|
|
|
|
|
|
|
The module defines the following type:
|
|
|
|
|
|
|
|
|
Merged revisions 73286,73294,73296,73459,73462-73463,73544,73576-73577,73595-73596,73693-73694,73704-73705,73707,73713,73937-73940,73945,73951,73979 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73286 | georg.brandl | 2009-06-08 09:57:35 +0200 (Mo, 08 Jun 2009) | 1 line
Remove period from end of headings.
........
r73294 | georg.brandl | 2009-06-08 15:34:52 +0200 (Mo, 08 Jun 2009) | 1 line
#6194: O_SHLOCK/O_EXLOCK are not really more platform independent than lockf().
........
r73296 | georg.brandl | 2009-06-08 18:03:41 +0200 (Mo, 08 Jun 2009) | 1 line
#6238: add fillchar to string.just function family.
........
r73459 | raymond.hettinger | 2009-06-17 03:43:47 +0200 (Mi, 17 Jun 2009) | 1 line
Add usage note.
........
r73462 | georg.brandl | 2009-06-17 11:36:21 +0200 (Mi, 17 Jun 2009) | 1 line
#6295: clarify blocking behavior of getch().
........
r73463 | georg.brandl | 2009-06-17 11:43:31 +0200 (Mi, 17 Jun 2009) | 1 line
#6255: document PyInt_FromSize_t.
........
r73544 | georg.brandl | 2009-06-24 08:41:19 +0200 (Mi, 24 Jun 2009) | 1 line
#6332: fix word dupes throughout the source.
........
r73576 | benjamin.peterson | 2009-06-27 01:37:06 +0200 (Sa, 27 Jun 2009) | 1 line
document is_declared_global()
........
r73577 | benjamin.peterson | 2009-06-27 16:16:23 +0200 (Sa, 27 Jun 2009) | 1 line
link to extensive generator docs in the reference manual
........
r73595 | ezio.melotti | 2009-06-28 01:45:39 +0200 (So, 28 Jun 2009) | 1 line
stmt and setup can contain multiple statements, see #5896
........
r73596 | ezio.melotti | 2009-06-28 02:07:45 +0200 (So, 28 Jun 2009) | 1 line
Fixed a wrong apostrophe
........
r73693 | jesse.noller | 2009-06-29 20:20:34 +0200 (Mo, 29 Jun 2009) | 1 line
Bug 5906: add a documentation note for unix daemons vs. multiprocessing daemons
........
r73694 | jesse.noller | 2009-06-29 20:24:26 +0200 (Mo, 29 Jun 2009) | 1 line
Issue 5740: multiprocessing.connection.* authkey fixes
........
r73704 | georg.brandl | 2009-06-30 18:15:43 +0200 (Di, 30 Jun 2009) | 1 line
#6376: fix copy-n-paste oversight.
........
r73705 | georg.brandl | 2009-06-30 18:17:28 +0200 (Di, 30 Jun 2009) | 1 line
#6374: add a bit of explanation about shell=True on Windows.
........
r73707 | georg.brandl | 2009-06-30 18:35:11 +0200 (Di, 30 Jun 2009) | 1 line
#6371: fix link targets.
........
r73713 | ezio.melotti | 2009-07-01 00:56:16 +0200 (Mi, 01 Jul 2009) | 1 line
Fixed a backslash that was not supposed to be there
........
r73937 | georg.brandl | 2009-07-11 12:12:36 +0200 (Sa, 11 Jul 2009) | 1 line
Fix style.
........
r73938 | georg.brandl | 2009-07-11 12:14:54 +0200 (Sa, 11 Jul 2009) | 1 line
#6446: fix import_spam() function to use correct error and reference handling.
........
r73939 | georg.brandl | 2009-07-11 12:18:10 +0200 (Sa, 11 Jul 2009) | 1 line
#6448: clarify docs for find_module().
........
r73940 | georg.brandl | 2009-07-11 12:37:38 +0200 (Sa, 11 Jul 2009) | 1 line
#6430: add note about size of "u" type.
........
r73945 | georg.brandl | 2009-07-11 12:51:31 +0200 (Sa, 11 Jul 2009) | 1 line
#6456: clarify the meaning of constants used as arguments to nl_langinfo().
........
r73951 | georg.brandl | 2009-07-11 16:23:38 +0200 (Sa, 11 Jul 2009) | 2 lines
array.array is actually a class.
........
r73979 | benjamin.peterson | 2009-07-12 18:56:54 +0200 (So, 12 Jul 2009) | 1 line
add versionadded
........
2009-10-27 11:29:22 -03:00
|
|
|
.. class:: array(typecode[, initializer])
|
2007-08-15 11:28:01 -03:00
|
|
|
|
Merged revisions 73286,73294,73296,73459,73462-73463,73544,73576-73577,73595-73596,73693-73694,73704-73705,73707,73713,73937-73940,73945,73951,73979 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73286 | georg.brandl | 2009-06-08 09:57:35 +0200 (Mo, 08 Jun 2009) | 1 line
Remove period from end of headings.
........
r73294 | georg.brandl | 2009-06-08 15:34:52 +0200 (Mo, 08 Jun 2009) | 1 line
#6194: O_SHLOCK/O_EXLOCK are not really more platform independent than lockf().
........
r73296 | georg.brandl | 2009-06-08 18:03:41 +0200 (Mo, 08 Jun 2009) | 1 line
#6238: add fillchar to string.just function family.
........
r73459 | raymond.hettinger | 2009-06-17 03:43:47 +0200 (Mi, 17 Jun 2009) | 1 line
Add usage note.
........
r73462 | georg.brandl | 2009-06-17 11:36:21 +0200 (Mi, 17 Jun 2009) | 1 line
#6295: clarify blocking behavior of getch().
........
r73463 | georg.brandl | 2009-06-17 11:43:31 +0200 (Mi, 17 Jun 2009) | 1 line
#6255: document PyInt_FromSize_t.
........
r73544 | georg.brandl | 2009-06-24 08:41:19 +0200 (Mi, 24 Jun 2009) | 1 line
#6332: fix word dupes throughout the source.
........
r73576 | benjamin.peterson | 2009-06-27 01:37:06 +0200 (Sa, 27 Jun 2009) | 1 line
document is_declared_global()
........
r73577 | benjamin.peterson | 2009-06-27 16:16:23 +0200 (Sa, 27 Jun 2009) | 1 line
link to extensive generator docs in the reference manual
........
r73595 | ezio.melotti | 2009-06-28 01:45:39 +0200 (So, 28 Jun 2009) | 1 line
stmt and setup can contain multiple statements, see #5896
........
r73596 | ezio.melotti | 2009-06-28 02:07:45 +0200 (So, 28 Jun 2009) | 1 line
Fixed a wrong apostrophe
........
r73693 | jesse.noller | 2009-06-29 20:20:34 +0200 (Mo, 29 Jun 2009) | 1 line
Bug 5906: add a documentation note for unix daemons vs. multiprocessing daemons
........
r73694 | jesse.noller | 2009-06-29 20:24:26 +0200 (Mo, 29 Jun 2009) | 1 line
Issue 5740: multiprocessing.connection.* authkey fixes
........
r73704 | georg.brandl | 2009-06-30 18:15:43 +0200 (Di, 30 Jun 2009) | 1 line
#6376: fix copy-n-paste oversight.
........
r73705 | georg.brandl | 2009-06-30 18:17:28 +0200 (Di, 30 Jun 2009) | 1 line
#6374: add a bit of explanation about shell=True on Windows.
........
r73707 | georg.brandl | 2009-06-30 18:35:11 +0200 (Di, 30 Jun 2009) | 1 line
#6371: fix link targets.
........
r73713 | ezio.melotti | 2009-07-01 00:56:16 +0200 (Mi, 01 Jul 2009) | 1 line
Fixed a backslash that was not supposed to be there
........
r73937 | georg.brandl | 2009-07-11 12:12:36 +0200 (Sa, 11 Jul 2009) | 1 line
Fix style.
........
r73938 | georg.brandl | 2009-07-11 12:14:54 +0200 (Sa, 11 Jul 2009) | 1 line
#6446: fix import_spam() function to use correct error and reference handling.
........
r73939 | georg.brandl | 2009-07-11 12:18:10 +0200 (Sa, 11 Jul 2009) | 1 line
#6448: clarify docs for find_module().
........
r73940 | georg.brandl | 2009-07-11 12:37:38 +0200 (Sa, 11 Jul 2009) | 1 line
#6430: add note about size of "u" type.
........
r73945 | georg.brandl | 2009-07-11 12:51:31 +0200 (Sa, 11 Jul 2009) | 1 line
#6456: clarify the meaning of constants used as arguments to nl_langinfo().
........
r73951 | georg.brandl | 2009-07-11 16:23:38 +0200 (Sa, 11 Jul 2009) | 2 lines
array.array is actually a class.
........
r73979 | benjamin.peterson | 2009-07-12 18:56:54 +0200 (So, 12 Jul 2009) | 1 line
add versionadded
........
2009-10-27 11:29:22 -03:00
|
|
|
A new array whose items are restricted by *typecode*, and initialized
|
2007-08-15 11:28:01 -03:00
|
|
|
from the optional *initializer* value, which must be a list, string, or iterable
|
|
|
|
over elements of the appropriate type.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.4
|
|
|
|
Formerly, only lists or strings were accepted.
|
|
|
|
|
|
|
|
If given a list or string, the initializer is passed to the new array's
|
|
|
|
:meth:`fromlist`, :meth:`fromstring`, or :meth:`fromunicode` method (see below)
|
|
|
|
to add initial items to the array. Otherwise, the iterable initializer is
|
|
|
|
passed to the :meth:`extend` method.
|
|
|
|
|
|
|
|
|
|
|
|
.. data:: ArrayType
|
|
|
|
|
Merged revisions 73286,73294,73296,73459,73462-73463,73544,73576-73577,73595-73596,73693-73694,73704-73705,73707,73713,73937-73940,73945,73951,73979 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73286 | georg.brandl | 2009-06-08 09:57:35 +0200 (Mo, 08 Jun 2009) | 1 line
Remove period from end of headings.
........
r73294 | georg.brandl | 2009-06-08 15:34:52 +0200 (Mo, 08 Jun 2009) | 1 line
#6194: O_SHLOCK/O_EXLOCK are not really more platform independent than lockf().
........
r73296 | georg.brandl | 2009-06-08 18:03:41 +0200 (Mo, 08 Jun 2009) | 1 line
#6238: add fillchar to string.just function family.
........
r73459 | raymond.hettinger | 2009-06-17 03:43:47 +0200 (Mi, 17 Jun 2009) | 1 line
Add usage note.
........
r73462 | georg.brandl | 2009-06-17 11:36:21 +0200 (Mi, 17 Jun 2009) | 1 line
#6295: clarify blocking behavior of getch().
........
r73463 | georg.brandl | 2009-06-17 11:43:31 +0200 (Mi, 17 Jun 2009) | 1 line
#6255: document PyInt_FromSize_t.
........
r73544 | georg.brandl | 2009-06-24 08:41:19 +0200 (Mi, 24 Jun 2009) | 1 line
#6332: fix word dupes throughout the source.
........
r73576 | benjamin.peterson | 2009-06-27 01:37:06 +0200 (Sa, 27 Jun 2009) | 1 line
document is_declared_global()
........
r73577 | benjamin.peterson | 2009-06-27 16:16:23 +0200 (Sa, 27 Jun 2009) | 1 line
link to extensive generator docs in the reference manual
........
r73595 | ezio.melotti | 2009-06-28 01:45:39 +0200 (So, 28 Jun 2009) | 1 line
stmt and setup can contain multiple statements, see #5896
........
r73596 | ezio.melotti | 2009-06-28 02:07:45 +0200 (So, 28 Jun 2009) | 1 line
Fixed a wrong apostrophe
........
r73693 | jesse.noller | 2009-06-29 20:20:34 +0200 (Mo, 29 Jun 2009) | 1 line
Bug 5906: add a documentation note for unix daemons vs. multiprocessing daemons
........
r73694 | jesse.noller | 2009-06-29 20:24:26 +0200 (Mo, 29 Jun 2009) | 1 line
Issue 5740: multiprocessing.connection.* authkey fixes
........
r73704 | georg.brandl | 2009-06-30 18:15:43 +0200 (Di, 30 Jun 2009) | 1 line
#6376: fix copy-n-paste oversight.
........
r73705 | georg.brandl | 2009-06-30 18:17:28 +0200 (Di, 30 Jun 2009) | 1 line
#6374: add a bit of explanation about shell=True on Windows.
........
r73707 | georg.brandl | 2009-06-30 18:35:11 +0200 (Di, 30 Jun 2009) | 1 line
#6371: fix link targets.
........
r73713 | ezio.melotti | 2009-07-01 00:56:16 +0200 (Mi, 01 Jul 2009) | 1 line
Fixed a backslash that was not supposed to be there
........
r73937 | georg.brandl | 2009-07-11 12:12:36 +0200 (Sa, 11 Jul 2009) | 1 line
Fix style.
........
r73938 | georg.brandl | 2009-07-11 12:14:54 +0200 (Sa, 11 Jul 2009) | 1 line
#6446: fix import_spam() function to use correct error and reference handling.
........
r73939 | georg.brandl | 2009-07-11 12:18:10 +0200 (Sa, 11 Jul 2009) | 1 line
#6448: clarify docs for find_module().
........
r73940 | georg.brandl | 2009-07-11 12:37:38 +0200 (Sa, 11 Jul 2009) | 1 line
#6430: add note about size of "u" type.
........
r73945 | georg.brandl | 2009-07-11 12:51:31 +0200 (Sa, 11 Jul 2009) | 1 line
#6456: clarify the meaning of constants used as arguments to nl_langinfo().
........
r73951 | georg.brandl | 2009-07-11 16:23:38 +0200 (Sa, 11 Jul 2009) | 2 lines
array.array is actually a class.
........
r73979 | benjamin.peterson | 2009-07-12 18:56:54 +0200 (So, 12 Jul 2009) | 1 line
add versionadded
........
2009-10-27 11:29:22 -03:00
|
|
|
Obsolete alias for :class:`array`.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
Array objects support the ordinary sequence operations of indexing, slicing,
|
|
|
|
concatenation, and multiplication. When using slice assignment, the assigned
|
|
|
|
value must be an array object with the same type code; in all other cases,
|
|
|
|
:exc:`TypeError` is raised. Array objects also implement the buffer interface,
|
|
|
|
and may be used wherever buffer objects are supported.
|
|
|
|
|
|
|
|
The following data items and methods are also supported:
|
|
|
|
|
|
|
|
.. attribute:: array.typecode
|
|
|
|
|
|
|
|
The typecode character used to create the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: array.itemsize
|
|
|
|
|
|
|
|
The length in bytes of one array item in the internal representation.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.append(x)
|
|
|
|
|
|
|
|
Append a new item with value *x* to the end of the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.buffer_info()
|
|
|
|
|
|
|
|
Return a tuple ``(address, length)`` giving the current memory address and the
|
|
|
|
length in elements of the buffer used to hold array's contents. The size of the
|
|
|
|
memory buffer in bytes can be computed as ``array.buffer_info()[1] *
|
|
|
|
array.itemsize``. This is occasionally useful when working with low-level (and
|
|
|
|
inherently unsafe) I/O interfaces that require memory addresses, such as certain
|
|
|
|
:cfunc:`ioctl` operations. The returned numbers are valid as long as the array
|
|
|
|
exists and no length-changing operations are applied to it.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
When using array objects from code written in C or C++ (the only way to
|
|
|
|
effectively make use of this information), it makes more sense to use the buffer
|
|
|
|
interface supported by array objects. This method is maintained for backward
|
|
|
|
compatibility and should be avoided in new code. The buffer interface is
|
|
|
|
documented in :ref:`bufferobjects`.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.byteswap()
|
|
|
|
|
|
|
|
"Byteswap" all items of the array. This is only supported for values which are
|
|
|
|
1, 2, 4, or 8 bytes in size; for other types of values, :exc:`RuntimeError` is
|
|
|
|
raised. It is useful when reading data from a file written on a machine with a
|
|
|
|
different byte order.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.count(x)
|
|
|
|
|
|
|
|
Return the number of occurrences of *x* in the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.extend(iterable)
|
|
|
|
|
|
|
|
Append items from *iterable* to the end of the array. If *iterable* is another
|
|
|
|
array, it must have *exactly* the same type code; if not, :exc:`TypeError` will
|
|
|
|
be raised. If *iterable* is not an array, it must be iterable and its elements
|
|
|
|
must be the right type to be appended to the array.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.4
|
|
|
|
Formerly, the argument could only be another array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.fromfile(f, n)
|
|
|
|
|
|
|
|
Read *n* items (as machine values) from the file object *f* and append them to
|
|
|
|
the end of the array. If less than *n* items are available, :exc:`EOFError` is
|
|
|
|
raised, but the items that were available are still inserted into the array.
|
|
|
|
*f* must be a real built-in file object; something else with a :meth:`read`
|
|
|
|
method won't do.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.fromlist(list)
|
|
|
|
|
|
|
|
Append items from the list. This is equivalent to ``for x in list:
|
|
|
|
a.append(x)`` except that if there is a type error, the array is unchanged.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.fromstring(s)
|
|
|
|
|
|
|
|
Appends items from the string, interpreting the string as an array of machine
|
|
|
|
values (as if it had been read from a file using the :meth:`fromfile` method).
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.fromunicode(s)
|
|
|
|
|
|
|
|
Extends this array with data from the given unicode string. The array must
|
|
|
|
be a type ``'u'`` array; otherwise a :exc:`ValueError` is raised. Use
|
|
|
|
``array.fromstring(unicodestring.encode(enc))`` to append Unicode data to an
|
|
|
|
array of some other type.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.index(x)
|
|
|
|
|
|
|
|
Return the smallest *i* such that *i* is the index of the first occurrence of
|
|
|
|
*x* in the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.insert(i, x)
|
|
|
|
|
|
|
|
Insert a new item with value *x* in the array before position *i*. Negative
|
|
|
|
values are treated as being relative to the end of the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.pop([i])
|
|
|
|
|
|
|
|
Removes the item with the index *i* from the array and returns it. The optional
|
|
|
|
argument defaults to ``-1``, so that by default the last item is removed and
|
|
|
|
returned.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.read(f, n)
|
|
|
|
|
|
|
|
.. deprecated:: 1.5.1
|
|
|
|
Use the :meth:`fromfile` method.
|
|
|
|
|
|
|
|
Read *n* items (as machine values) from the file object *f* and append them to
|
|
|
|
the end of the array. If less than *n* items are available, :exc:`EOFError` is
|
|
|
|
raised, but the items that were available are still inserted into the array.
|
|
|
|
*f* must be a real built-in file object; something else with a :meth:`read`
|
|
|
|
method won't do.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.remove(x)
|
|
|
|
|
|
|
|
Remove the first occurrence of *x* from the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.reverse()
|
|
|
|
|
|
|
|
Reverse the order of the items in the array.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.tofile(f)
|
|
|
|
|
|
|
|
Write all items (as machine values) to the file object *f*.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.tolist()
|
|
|
|
|
|
|
|
Convert the array to an ordinary list with the same items.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.tostring()
|
|
|
|
|
|
|
|
Convert the array to an array of machine values and return the string
|
|
|
|
representation (the same sequence of bytes that would be written to a file by
|
|
|
|
the :meth:`tofile` method.)
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.tounicode()
|
|
|
|
|
|
|
|
Convert the array to a unicode string. The array must be a type ``'u'`` array;
|
|
|
|
otherwise a :exc:`ValueError` is raised. Use ``array.tostring().decode(enc)`` to
|
|
|
|
obtain a unicode string from an array of some other type.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: array.write(f)
|
|
|
|
|
|
|
|
.. deprecated:: 1.5.1
|
|
|
|
Use the :meth:`tofile` method.
|
|
|
|
|
|
|
|
Write all items (as machine values) to the file object *f*.
|
|
|
|
|
|
|
|
When an array object is printed or converted to a string, it is represented as
|
|
|
|
``array(typecode, initializer)``. The *initializer* is omitted if the array is
|
|
|
|
empty, otherwise it is a string if the *typecode* is ``'c'``, otherwise it is a
|
|
|
|
list of numbers. The string is guaranteed to be able to be converted back to an
|
|
|
|
array with the same type and value using :func:`eval`, so long as the
|
|
|
|
:func:`array` function has been imported using ``from array import array``.
|
|
|
|
Examples::
|
|
|
|
|
|
|
|
array('l')
|
|
|
|
array('c', 'hello world')
|
|
|
|
array('u', u'hello \u2641')
|
|
|
|
array('l', [1, 2, 3, 4, 5])
|
|
|
|
array('d', [1.0, 2.0, 3.14])
|
|
|
|
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
Module :mod:`struct`
|
|
|
|
Packing and unpacking of heterogeneous binary data.
|
|
|
|
|
|
|
|
Module :mod:`xdrlib`
|
|
|
|
Packing and unpacking of External Data Representation (XDR) data as used in some
|
|
|
|
remote procedure call systems.
|
|
|
|
|
|
|
|
`The Numerical Python Manual <http://numpy.sourceforge.net/numdoc/HTML/numdoc.htm>`_
|
|
|
|
The Numeric Python extension (NumPy) defines another array type; see
|
|
|
|
http://numpy.sourceforge.net/ for further information about Numerical Python.
|
|
|
|
(A PDF version of the NumPy manual is available at
|
|
|
|
http://numpy.sourceforge.net/numdoc/numdoc.pdf).
|
|
|
|
|