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:
-
Lehet 16 bit vagy 32 bit a platformtól függően.
megváltozott Verzió 3.9:
array('u')
most használwchar_t
mint C típusú helyett elavultPy_UNICODE
. Ez a változás nem befolyásolja a viselkedését, mert aPy_UNICODE
awchar_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.itemsize
lehet., 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 array
használatával lett importálva.,Példák:
array('l')array('u', 'hello \u2641')array('l', )array('d', )
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.