Ce module définit un type d’objet qui peut représenter de manière compacte un tableau ofbasic valeurs: caractères, des entiers, des nombres à virgule flottante. Les tableaux sont des sequencetypes et se comportent très bien comme des listes, sauf que le type d’objets stockés dans ceux-ci est contraint. Le type est spécifié au moment de la création de l’objet en utilisant le code atype, qui est un seul caractère., Les codes de type suivants sont définis:
Notes:
-
Il peut être 16 bits ou 32 bits selon la plate-forme.
Modifié dans la version 3.9:
array('u')
utilise maintenantwchar_t
comme type C au lieu de dépréciéesPy_UNICODE
. Cette modification n’affecte pas son comportement carPy_UNICODE
est un alias dewchar_t
depuis Python 3.3.Obsolète depuis la version 3.3, va être supprimé dans la version 4.0.,
la représentation réelle des valeurs est déterminée par l’architecture de la machine(à proprement parler, par L’implémentation C). La taille réelle peut être accédée via l’attributitemsize
.
le module définit le type suivant:
classarray.
array
(typecode)¶
un nouveau tableau dont les éléments sont limités par typecode, et initialisés à partir de la valeur d’initialisation optionnelle, qui doit être une liste, un objet de type abytes, ou itérable sur des éléments du type approprié.,
si une liste ou une chaîne est donnée, l’initialiseur est passé à la méthodefromlist()
,frombytes()
, oufromunicode()
(voir ci-dessous)pour ajouter des éléments initiaux au tableau. Sinon, l’initialiseur itérable est passé à la méthode extend()
.
Pose d’un audit de l’événement array.__new__
avec des arguments typecode
, initializer
.
array.
typecodes
¶
Une chaîne avec tous les codes de type de.,
Les objets de tableau prennent en charge les opérations de séquence ordinaires d’indexation, de découpage,de concaténation et de multiplication. Lors de l’utilisation de l’affectation de tranche, assignedvalue doit être un objet tableau avec le même code de type; dans tous les autres cas,TypeError
est déclenché. Les objets Array implémentent également l’interface buffer et peuvent être utilisés partout où des objets de type bytes sont pris en charge.
Les éléments de données et les méthodes sont également pris en charge:
array.
typecode
¶
Le typecode caractère utilisé pour créer le tableau.,
array.
itemsize
¶
La longueur, en octets, d’un élément de tableau dans la représentation interne.
array.
append
(x)¶
Ajouter un nouvel élément avec la valeur x à la fin du tableau.
array.
buffer_info
()¶
renvoie un tuple(address, length)
donnant l’adresse mémoire actuelle et la longueur des éléments du tampon utilisé pour contenir le contenu du tableau. La taille du tampon mémoire en octets peut être calculée comme array.buffer_info() *array.itemsize
., Ceci est parfois utile lorsque vous travaillez avec des interfaces d’e/s de bas niveau (et donc dangereuses) qui nécessitent des adresses mémoire, telles que certaines opérationsioctl()
. Les nombres retournés sont valides tant que le tableau existe et qu’aucune opération de changement de longueur ne lui est appliquée.
Remarque
lorsque vous utilisez des objets de tableau à partir de code écrit en C ou c++ (le seul moyen d’utiliser efficacement ces informations), il est plus logique d’utiliser la bufferinterface prise en charge par les objets de tableau. Cette méthode est maintenue pour backwardcompatibility et doit être évitée dans le nouveau code., L’interface de tampon isdocumented dans le protocole de tampon.
array.
byteswap
()¶
« Byteswap” tous les éléments de la matrice. Ceci n’est pris en charge que pour les valeurs de 1, 2, 4 ou 8 octets; pour les autres types de valeurs, RuntimeError
israised. Il est utile lors de la lecture de données à partir d’un fichier écrit sur une machine avec un ordre d’octets différent.
array.
count
(x)¶
retourne le nombre d’occurrences de x dans le tableau.,
array.
extend
(itératif)¶
Ajouter des éléments à partir de itérable à la fin du tableau. Si iterable est un autre tableau, il doit avoir exactement le même code de type; sinon, TypeError
sera déclenché. Si iterable n’est pas un tableau, il doit être itérable et ses éléments doivent être le bon type à ajouter au tableau.
array.
frombytes
(s)¶
ajoute des éléments de la chaîne, interprétant la chaîne comme un tableau de valeurs de machines (comme si elle avait été lue à partir d’un fichier en utilisant la méthodefromfile()
).,
de Nouveau dans la version 3.2: fromstring()
est renommé frombytes()
pour plus de clarté.
array.
fromfile
(f, n)¶
Lire n éléments (en tant que valeurs machine) à partir de l’objet fichier f et appendthem à la fin du tableau. Si moins de N éléments sont disponibles,EOFError
est déclenché, mais les éléments qui étaient disponibles sont toujours insérés dans le tableau. f doit être un véritable objet fichier intégré; somethingelse avec une méthode read()
ne fera pas l’affaire.,
array.
fromlist
(liste)¶
Ajouter les éléments de la liste. Ceci est équivalent à for x in list:a.append(x)
sauf que s’il y a une erreur de type, le tableau est inchangé.
array.
fromunicode
(s)¶
s’Étend ce tableau avec les données de la chaîne unicode. Le tableau doit être un type 'u'
array; autrement, un ValueError
est soulevée. Utilisez array.frombytes(unicodestring.encode(enc))
pour ajouter des données Unicode à anarray d’un autre type.,
array.
index
(x)¶
Retourner le plus petit i tel que i est l’indice de la première occurrence ofx dans le tableau.
array.
insert
(i, x)¶
insérez un nouvel élément avec la valeur x dans le tableau avant la position I. Les valeurs négatives sont traitées comme étant relatives à la fin du tableau.
array.
pop
()¶
Supprime l’élément à l’indice i du tableau et le renvoie., Le paramètre optionalargument est par défaut -1
, de sorte que par défaut le dernier élément soit supprimé et retourné.
array.
remove
(x)¶
Supprimer la première occurrence de x dans le tableau.
array.
reverse
()¶
Inverser l’ordre des éléments dans le tableau.
array.
tobytes
()¶
Convertir le tableau d’un tableau de machine de valeurs et de retourner le bytesrepresentation (la même séquence d’octets qui serait écrit dans un fichier par le tofile()
méthode.,)
de Nouveau dans la version 3.2: tostring()
est renommé tobytes()
pour plus de clarté.
array.
tofile
(f)¶
Écrire tous les articles (comme la machine de valeurs) pour le fichier objet f.
array.
tolist
()¶
Convertir le tableau à une liste avec les mêmes éléments.
array.
tounicode
()¶
Convertir le tableau en une chaîne unicode. Le tableau doit être un tableau de type 'u'
; sinon un ValueError
est déclenché., Utilisez array.tobytes().decode(enc)
pour contenir une chaîne unicode à partir d’un tableau d’un autre type.
lorsqu’un objet tableau est imprimé ou converti en chaîne, il est représenté sous la formearray(typecode, initializer)
. L’initialiseur est omis si le tableau est vide, sinon c’est une chaîne si le typecode est 'u'
, sinon c’est une liste de nombres. La chaîne est garantie de pouvoir être convertie en anarray avec le même type et la même valeur en utilisant eval()
, tant que la classearray
a été importée en utilisant from array import array
.,Exemples:
array('l')array('u', 'hello \u2641')array('l', )array('d', )
Voir aussi
le Module struct
d’Emballage et de déballage des hétérogène des données binaires.
Module xdrlib
Emballage et déballage des données de représentation de données externes (XDR) utilisées dans les systèmes d’appel de procédure someremote.
la Documentation Python numérique
L’extension Python numérique (NumPy) définit un autre type de tableau; seehttp://www.numpy.org/ pour plus d’informations sur Python numérique.