Dette modul definerer et objekt type, som kan kompakt repræsenterer en vifte ofbasic værdier: bogstaver, heltal, floating point tal. Arrays er se .uencetyper og opfører sig meget som lister, bortset fra at typen af objekter gemt Idem er begrænset. Typen er angivet på objektoprettelsestidspunktet ved hjælp af atype-kode, som er et enkelt tegn., Følgende typekoder erdefineret:
noter:
-
det kan være 16 bit eller 32 bit afhængigt af platformen.
der er Ændret i version 3.9:
array('u')
nu brugerwchar_t
som C-type i stedet for deprecatedPy_UNICODE
. Denne ændring påvirker ikke dens adfærd, fordiPy_UNICODE
er alias afwchar_t
siden Python 3.3.forældet siden version 3.3, vil blive fjernet i version 4.0.,
den faktiske repræsentation af værdier bestemmes af maskinarkitekturen(strengt taget af C-implementeringen). Den faktiske størrelse kan få adganggennem itemsize
attributten.
modulet definerer følgende type:
klassearray.
array
(typecode)¶
En ny matrix, hvis elementer er begrænset af typecode, og initializedfrom den valgfri startværdi værdi, som skal være en liste, abytes-lignende genstand, eller iterable over elementer af fornødne type.,
Hvis du får en liste eller streng, startværdi er overført til det nye array ‘ sfromlist()
frombytes()
, eller fromunicode()
metode (se nedenfor)for at tilføje oprindelige elementer i array. Ellers er den iterable initialiizererbestået til extend()
metoden.
Rejser en revision event array.__new__
med argumenter typecode
initializer
.
array.
typecodes
en streng med alle tilgængelige typekoder.,
Array objekter understøtter de almindelige sekvens operationer indeksering, udskæring,sammenkædning og multiplikation. Når du bruger slice assignment, skal den tildelteværdi være et arrayobjekt med samme type kode; i alle andre tilfælde hævesTypeError
. Array-objekter også gennemføre buffer interface, og kan anvendes, hvor bytes-lignende objekter understøttes.
følgende dataelementer og metoder understøttes også:
array.
typekodetegnet, der bruges til at oprette arrayet.,array.
itemsize
¶
længden i bytes af et array element i den interne repræsentation.
array.
append
(.) Tilføj et nyt element med værdi. til slutningen af arrayet.array.
buffer_info
() Return
returner en tuple (address, length)
angiver den aktuelle hukommelsesadresse og længden i elementer af bufferen, der bruges til at holde arrayets indhold. Størrelsen af thememory buffer i bytes kan beregnes som array.buffer_info() *array.itemsize
., Dette er lejlighedsvis nyttigt, når du arbejder med lavt niveau (oghelt usikre) i/O-grænseflader, der kræver hukommelsesadresser, såsom visseioctl()
operationer. De returnerede numre er gyldige, så længe arraye .ists og ingen Længde skiftende operationer anvendes på det.
Bemærk
Når du bruger array-objekter fra kode skrevet i C eller C++ (den eneste måde at effektivt gøre brug af disse oplysninger), er det mere fornuftigt at bruge bufferinterface understøttet af array-objekter. Denne metode opretholdes for tilbagekompatibilitet og bør undgås i ny kode., Buffer interface isdocumented i Buffer-Protokollen.
array.
byteswap
()¶
“Byteswap” alle elementer i arrayet. Dette understøttes kun for værdier, der er 1, 2, 4 eller 8 byte i størrelse; for andre typer værdier, RuntimeError
israised. Det er nyttigt, når du læser data fra en fil skrevet på en maskine med enforskellig byte ordre.
array.
count
(.) returner antallet af forekomster af. i arrayet.,array.
extend
(iterable) app
Tilføj elementer fra iterable til slutningen af arrayet. Hvis iterable er anotherarray, skal det have nøjagtig samme type kode; hvis ikke,TypeError
raisedillbe hævet. Hvis iterable ikke er et array, skal det være iterable og dens elementer skal være den rigtige type, der skal tilføjes til arrayet.
array.
frombytes
(s)¶
Føjer elementer fra streng tolkning af strengen som et array af machinevalues (som hvis det havde været læses fra en fil ved hjælp af fromfile()
metode).,
Nyt i version 3.2: fromstring()
er omdøbt til frombytes()
for klarhed.
array.
fromfile
(f, n)¶
Læs n elementer (som maskine-værdier) fra den fil objekt f og appendthem til enden af matrixen. Hvis mindre end n-elementer er tilgængelige, hævesEOFError
, men de elementer, der var tilgængelige, indsættes stadig i arrayet. f skal være en reel indbygget fil objekt; somethingelse med en read()
metode vil ikke gøre.,
array.
fromlist
(liste) app
Tilføj elementer fra listen. Dette svarer til for x in list:a.append(x)
bortset fra at hvis der er en typefejl, er arrayet uændret.
array.
fromunicode
(s) Extends
udvider dette array med data fra den givne unicode-streng. Arrayet skal være en type 'u'
array; ellers hæves en ValueError
. Brugarray.frombytes(unicodestring.encode(enc))
til at tilføje Unicode-data til anarray af en anden type.,
array.
index
(.) returner det mindste i sådan, at jeg er indekset for den første forekomst af in i arrayet.array.
insert
(i,.) Insert
Indsæt et nyt element med værdi.i arrayet før position i. Negativværdier behandles som værende i forhold til slutningen af arrayet.
array.
pop
() Removes
fjerner elementet med indekset i fra arrayet og returnerer det., Den valgfriargument er standard til -1
, så det sidste element som standard fjernes ogreturneres.
array.
remove
(.) fjern den første forekomst af. fra arrayet.array.
reverse
() Reverse
omvendt rækkefølgen af elementerne i arrayet.
array.
tobytes
()¶
Konverter array til en bred vifte af maskinen værdier og vende tilbage bytesrepresentation (den samme sekvens af bytes, som ville blive skrevet til en fil som tofile()
metode.,)
Nyt i version 3.2: tostring()
er omdøbt til tobytes()
for klarhed.
array.
tofile
(f)¶
Skriv alle elementer (som maskine værdier) til filen objekt, f.
array.
tolist
()¶
Konverter array til en almindelig liste med de samme elementer.
array.
tounicode
() Convert
konverter arrayet til en unicode-streng. Arrayet skal være en type 'u'
array;ellers hæves enValueError
., Brug array.tobytes().decode(enc)
tilIndtast en unicode-streng fra en række af en anden type.
Når et arrayobjekt udskrives eller konverteres til en streng, repræsenteres det somarray(typecode, initializer)
. Initialisatoren udelades, hvis arrayet ertom, ellers er det en streng, hvis typekoden er 'u'
, ellers er det alist af tal. Strengen er garanteret til at være i stand til at blive konverteret tilbage til anarray med den samme type og værdi ved hjælp af eval()
, så længearray
class har været importeres ved hjælp af from array import array
.,Eksempler:
array('l')array('u', 'hello \u2641')array('l', )array('d', )
Se også
Modul struct
Pakning og udpakning af heterogene binære data.
Modul xdrlib
Pakning og udpakning af Eksterne Data Repræsentation (XDR) data, som anvendes i someremote procedure call-systemer.
Numerisk Python-Dokumentation
Python Den Numeriske udvidelse (NumPy) definerer et andet array-type; http://www.numpy.org/ for yderligere information om Numerisk Python.