Acest modul definește un tip de obiect care poate compact reprezintă o matrice ofbasic valori: caractere, numere întregi, numere în virgulă mobilă. Arrays sunt secvențietypes și se comportă foarte mult ca liste, cu excepția faptului că tipul de obiecte stocate în Them este constrâns. Tipul este specificat la momentul creării obiectului utilizând codul atype, care este un singur caracter., Următoarele coduri de tip aredefined:

Note:

  1. poate fi de 16 biți sau 32 de biți, în funcție de platformă.

    s-a Schimbat în versiunea 3.9: array('u') foloseste acum wchar_t ca tip C în loc de a depreciatPy_UNICODE. Această modificare nu afectează comportamentul său, deoarecePy_UNICODEeste alias al wchar_t din Python 3.3.

    depreciate de la versiunea 3.3, vor fi eliminate în versiunea 4.0.,reprezentarea reală a valorilor este determinată de arhitectura mașinii(strict vorbind, de implementarea C). Dimensiunea reală poate fi accesatăprin atributul itemsize.

    modulul definește următoarele tipuri:

    clasa array.array(typecode)¶

    O nouă matrice ale căror elemente sunt restricționate de typecode, și initializedfrom opțional inițializare o valoare, care trebuie să fie o listă, abytes-ca obiect, sau iterable peste elemente de theappropriate tip.,

    Dacă a dat o listă sau șir, inițializare este trecut la noua matrice efromlist(), frombytes() sau fromunicode() metoda (a se vedea mai jos)pentru a adăuga inițială elemente în matrice. În caz contrar, iterable inițializare ispassed la extend() metoda.

    Ridică un audit eveniment array.__new__ cu argumente typecode, initializer.

    array.typecodes

    Un șir cu toate disponibile tip de coduri.,

    obiectele matrice suportă operațiile ordinare de secvență de indexare,feliere, concatenare și multiplicare. Atunci când se utilizează felie de cesiune, assignedvalue trebuie să fie un obiect matrice cu același tip de cod; în toate celelalte cazuri,TypeError este ridicat. Obiectele Array implementează,de asemenea, interfața tampon și pot fi utilizate oriunde sunt acceptate obiecte asemănătoare octeților.

    următoarele elemente De date și metode sunt de asemenea suportate:

    array.typecode

    typecode caracter folosit pentru a crea matrice.,

    array.itemsize

    lungimea în octeți a o matrice element în reprezentarea internă.

    array.append(x)¶

    Adăugați un nou element cu valoarea x la sfârșitul șirului.

    array.buffer_info()¶

    Returna un tuplu (address, length) da curent adresă de memorie și lungimea în elemente de tampon utilizat pentru a păstra matrice conținutul. Dimensiunea tamponului thememory în octeți poate fi calculată ca array.buffer_info() *array.itemsize., Acest lucru este uneori util atunci când se lucrează cu nivel scăzut (andinherently nesigur) interfețe I/O care necesită adrese de memorie, cum ar fi anumiteioctl() operațiuni. Numerele returnate sunt valabile atâta timp cât arrayexists și nu se aplică operații de schimbare a lungimii.

    notă

    când utilizați obiecte de matrice din cod scris în C sau C++ (singura modalitate de a utiliza în mod eficient aceste informații), are mai mult sens să utilizați bufferinterface susținută de obiecte de matrice. Această metodă este menținută pentru înapoicompatibilitate și ar trebui evitată în noul cod., Interfața tampon estedocumentat în Protocolul tampon.

    array.byteswap()¶

    „Byteswap” toate elementele de matrice. Acest lucru este acceptată numai pentru valorile care are1, 2, 4 sau 8 octeți în dimensiune; pentru alte tipuri de valori, RuntimeError israised. Este util atunci când citirea datelor dintr-un fișier scris pe o mașină cu adiferite ordine octet.

    array.count(x)¶

    returnează numărul de apariții ale lui x din matrice.,

    array.extend(iterable)¶

    Adăugare elemente de iterable la sfârșitul șirului. Dacă iterable este altularray, acesta trebuie să aibă exact același cod de tip; dacă nu, TypeError va fi ridicat. Dacă iterable nu este un tablou, acesta trebuie să fie iterabil și elementele saletrebuie să fie tipul potrivit pentru a fi anexat la matrice.

    array.frombytes(s)¶

    Adaugă elemente din șir, interpretarea șir ca o serie de machinevalues (ca și cum ar fi citit dintr-un fișier folosind fromfile() metoda).,

    Nou în versiunea 3.2: fromstring() este redenumit frombytes() pentru claritate.

    array.fromfile(f, n)¶

    Citeste n elemente (ca masina de valori) din fișierul obiect f și appendthem la sfârșitul șirului. Dacă este mai mică decât n elemente sunt disponibile,EOFError este ridicat, dar elementele care au fost disponibile sunt stillinserted în matrice. f trebuie să fie un obiect real fișier încorporat; somethingelse cu un read() metoda nu va face.,

    array.fromlist(listă)¶

    Adăugare elemente din listă. Aceasta este echivalentă cu for x in list:a.append(x) cu excepția faptului că, dacă există o eroare de tip, matricea este neschimbată.

    array.fromunicode(S)¶

    extinde această matrice cu date din șirul unicode dat. Matrice trebuie să fie un tip 'u' array; în caz contrar, un ValueError este ridicat. Utilizațiarray.frombytes(unicodestring.encode(enc)) pentru a adăuga date Unicode la anarray de alt tip.,

    array.index(x)¶

    returnați cel mai mic i astfel încât i este indicele primei apariții ofx în matrice.

    array.insert(i, x)¶

    se Introduce un nou element cu valoarea x din matrice înainte de poziția de eu. Negativevalues sunt tratate ca fiind relativă la sfârșitul șirului.

    array.pop()¶

    Elimină elementul cu indicele i din matrice și se întoarce., La optionalargument implicit -1, așa că, implicit, ultimul element este eliminat andreturned.

    array.remove(x)¶

    eliminați prima apariție a x din matrice.

    array.reverse()¶

    inversa ordinea elementelor din matrice.

    array.tobytes()¶

    Converti matrice pentru o serie de mașină de valorile și de a reveni la bytesrepresentation (aceeași secvență de octeți care vor fi scrise într-un fișier de tofile() metoda.,)

    Nou în versiunea 3.2: tostring() este redenumit tobytes() pentru claritate.

    array.tofile(f)¶

    Scrie toate elementele (ca masina de valori) la obiect fișier f.

    array.tolist()¶

    Converti matrice pentru un obișnuit lista cu aceleași elemente.

    array.tounicode()¶

    Converti matrice la un șir unicode. Matrice trebuie să fie un tip 'u' array;în caz contrar, un ValueError este ridicat., Utilizați array.tobytes().decode(enc) pentru a obține un șir unicode dintr-o matrice de alt tip.

    când un obiect matrice este imprimat sau convertit într-un șir, acesta este reprezentat caarray(typecode, initializer). La inițializare este omis dacă matrice isempty, în caz contrar acesta este un șir dacă typecode este 'u', în caz contrar aceasta este o listă de numere. Șirul este garantat de a fi capabil de a fi convertit înapoi la obiective cu același tip și de valoare, folosind eval(), atât timp câtarray class a fost importat folosind from array import array.,Exemple:

    array('l')array('u', 'hello \u2641')array('l', )array('d', )

    Vezi și

    modulul struct

    ambalarea și despachetarea datelor binare eterogene.

    Modulul xdrlib

    de Ambalare și despachetare de Externe de Reprezentare a Datelor (XDR) datele utilizate în someremote procedura sisteme de apel.

    documentația numerică Python

    extensia numerică Python (NumPy) definește un alt tip de matrice; seehttp://www.numpy.org/ pentru informații suplimentare despre Python numeric.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *