Ez a modul olyan objektumtípust határoz meg, amely tömören egy soratbázisos értékek: karakterek, egész számok, lebegőpontos számok. A tömbök szekvencetípusok, és nagyon hasonlítanak a listákra, azzal a különbséggel, hogy a bennük tárolt objektumok típusa korlátozott. A típust az objektum létrehozásakor az atype kód használatával adjuk meg, amely egyetlen karakter., A következő típuskódok vannak meghatározva:

Megjegyzések:

  1. Lehet 16 bit vagy 32 bit a platformtól függően.

    megváltozott Verzió 3.9: array('u') most használ wchar_t mint C típusú helyett elavultPy_UNICODE. Ez a változás nem befolyásolja a viselkedését, mert aPy_UNICODE a wchar_t alias a Python 3.3 óta.

    a 3.3-as verzió óta elavult, a 4.0-s verzióban eltávolításra kerül.,

az értékek tényleges ábrázolását a gép architektúrája határozza meg(szigorúan a C implementáció). A tényleges méret a itemsize attribútumon keresztül érhető el.

a modul a következő típust határozza meg:

classarray.array(typecode)¶

egy új tömb, amelynek elemeit typecode korlátozza, és inicializedaz opcionális inicializáló értékből, amelynek listának, abytes-szerű objektumnak kell lennie, vagy iterálható a megfelelő típusú elemeken.,

ha adott egy lista vagy karakterlánc, az inicializáló átkerül az új tömbfromlist(), frombytes(), vagy fromunicode() módszer (lásd alább), hogy hozzá kezdeti elemeket a tömb. Ellenkező esetben az iterable inicializer a extend() metódusra kerül.

array.__new__ argumentumokkaltypecode,initializer.

array.typecodes

egy karakterlánc az összes rendelkezésre álló típuskóddal.,

A Tömbobjektumok támogatják az indexelés, a szeletelés,a konkatenáció és a szorzás szokásos szekvenciaműveleteit. A slice hozzárendelés használatakor a hozzárendelt értéknek azonos típusú tömbobjektumnak kell lennie; minden más esetben aTypeError emelkedik. A tömbobjektumok implementálják a puffer interfészt is, és ott is használhatók, ahol a bájtszerű objektumok támogatottak.

a következő adatelemek és módszerek is támogatottak:

array.typecode

a tömb létrehozásához használt typecode karakter.,

array.

egy tömb elemének hossza bájtban a belső ábrázolásban.

array.append(x)¶

csatoljon egy új elemet x értékkel a tömb végére.

array.buffer_info()¶

Return a tuple (address, length) az aktuális memóriacím és ahosszúság megadása a tömb tartalmának tárolására használt puffer elemeiben. A bájtban lévő themememory puffer mérete array.buffer_info() *array.itemsizelehet., Ez alkalmanként hasznos, ha alacsony szintű (éshősebben nem biztonságos) I/O interfészekkel dolgozik, amelyek memóriacímeket igényelnek, például bizonyosioctl() műveleteket. A visszaadott számok mindaddig érvényesek, amíg a tömböt nem alkalmazzák hosszváltó műveletekre.

Megjegyzés

ha tömb objektumokat használ a C vagy C++ kódból (az egyetlen módja annak, hogyhatékonyan használja ezt az információt), akkor több értelme van a tömb objektumok által támogatott pufferinterface használatához. Ezt a módszert a hátramenet érdekében fenntartjákkompatibilitás, ezért az új kódban kerülni kell., A puffer interfészdokumentált puffer protokollban.

array.byteswap()¶

” Byteswap ” a tömb összes eleme. Ez csak olyan értékeknél támogatott, amelyek mérete 1, 2, 4 vagy 8 bájt; más típusú értékeknél RuntimeError. Hasznos, ha adatokat olvas egy gépen írt fájlból, adifferent byte sorrendben.

array.count(x)¶

visszaadja az X előfordulásainak számát a tömbben.,

array.extend(iterable)¶

csatolja az elemeket iterable-től a tömb végéig. Ha az iterable is anotherarray, akkor pontosan ugyanazzal a típuskóddal kell rendelkeznie; ha nem, akkor TypeError willbe raised. Ha az iterable nem tömb, akkor iterábilisnak, elemeinek pedig megfelelő típusnak kell lenniük a tömbhöz.

array.frombytes(s)¶

hozzáfűzi az elemeket a karakterláncból, értelmezve a karakterláncot machinevalues tömbként (mintha egy fájlból olvasták volna a fromfile() módszer).,

új verzió 3.2: fromstring()átnevezték frombytes() az egyértelműség érdekében.

array.fromfile(f, n)¶

Read n items (as machine values) from the file object f and appendthem to the end of the array. Ha kevesebb, mint n elem áll rendelkezésre, aEOFError felemelkedik, de a rendelkezésre álló elemek továbbra is be vannak kapcsolva a tömbbe. f kell egy igazi beépített fájl objektum; somethingelse egy read() módszer nem fog.,

array.fromlist(lista)¶

elemek hozzáfűzése a listából. Ez egyenértékű a for x in list:a.append(x) – val, kivéve, hogy ha típushiba van, a tömb változatlan.

array.fromunicode(s)¶

kiterjeszti ezt a tömböt az adott unicode karakterlánc adataival. A tömbnek 'u' tömbnek kell lennie; ellenkező esetben a ValueError emelkedik. Aarray.frombytes(unicodestring.encode(enc)) használatával a Unicode-adatokat más típusú anarray-hez csatolhatja.,

array.index(x)¶

adja vissza a legkisebb i-t úgy, hogy én vagyok a tömb első előfordulásának indexe.

array.insert(I, x)¶

helyezzen be egy új elemet x értékkel a tömbben az I. pozíció előtt.

array.pop()¶

eltávolítja az elemet az I indexgel a tömbből, majd visszaadja., Az optionalargument alapértelmezés szerint -1, így alapértelmezés szerint az utolsó elem eltávolításra kerül ésvisszatért.

array.remove(x)¶

távolítsa el az X első előfordulását a tömbből.

array.reverse()¶

fordított sorrendben az elemek a tömbben.

array.tobytes() ś

Átalakítani a tömb tömb a gép értékek vissza a bytesrepresentation (ugyanaz a byte lenne írva, hogy egy fájlt a tofile() módszer.,)

New in version 3.2: tostring()is renamed to tobytes() for clarity.

array.tofile(f)¶

írja be az összes elemet (gépi értékként) az F fájlobjektumba.

array.tolist()¶

Convert a tömb egy közönséges lista azonos elemeket.

array.tounicode()¶

Convert the array to a unicode string. A tömbnek 'u' tömbnek kell lennie;ellenkező esetben a ValueError emelkedik., Use array.tobytes().decode(enc) toobtain a unicode string egy tömb más típusú.

Ha egy tömbobjektumot karakterláncra nyomtatnak vagy alakítanak át, akkorarray(typecode, initializer). Az inicializátor elhagyható, ha a tömb isempty, különben egy karakterlánc, ha a typecode 'u', különben a számok listája. A karakterlánc a eval() használatával garantáltan ugyanolyan típusú és értékű anarray-re konvertálható, mindaddig, amíg aarray osztály a from array import arrayhasználatával lett importálva.,Példák:

array('l')array('u', 'hello \u2641')array('l', )array('d', )
Lásd még: modul struct

heterogén bináris adatok csomagolása és kicsomagolása.

Module xdrlib

külső adatmegjelenítési (XDR) adatok csomagolása és kicsomagolása a someremote eljáráshívó rendszerekben használt módon.

A numerikus Python dokumentáció

A numerikus Python kiterjesztés (NumPy) egy másik tömb típust határoz meg; seehttp://www.numpy.org/ További információ a numerikus Python-ról.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük