Denne modulen definerer en type objekt som kan små sammen representerer et utvalg ofbasic verdier: tegn, heltall, flyttall. Arrays er sequencetypes, og oppfører seg svært mye som lister, bortsett fra at den type objekter som er lagret inthem er begrenset. Den typen som er angitt på objektet etableringen tid ved hjelp av atype kode, som er et enkelt tegn., Følgende type koder aredefined:
Merk:
-
Det kan være 16-bits eller 32-bits avhengig av plattform.
Endret i versjon 3.9:
array('u')
nå brukerwchar_t
som C-typen, i stedet for ugyldigPy_UNICODE
. Denne endringen påvirker ikke til sin atferd fordiPy_UNICODE
er aliaset tilwchar_t
siden Python 3.3.Avskrevet siden versjon 3.3, vil bli fjernet i versjon 4.0.,
Den faktiske fremstilling av verdier bestemmes av maskinen arkitektur(strengt tatt ved C implementering). Den faktiske størrelsen kan accessedthrough itemsize
attributtet.
modulen definerer følgende type:
klassenarray.
array
(typecode)¶
En ny matrise der elementene er begrenset av typecode, og initializedfrom den valgfrie initializer verdi, som må være en liste, abytes-som objekt, eller iterable over elementer av theappropriate type.,
Hvis du får en liste eller en streng, initializer er gått over til den nye matrisen erfromlist()
, frombytes()
, eller fromunicode()
metoden (se nedenfor)for å legge til innledende elementer i tabellen. Ellers iterable initializer ispassed til extend()
metode.
Hever en revisjon event array.__new__
med argumenter typecode
, initializer
.
array.
typecodes
¶
En streng med alle tilgjengelige type koder.,
Array-objekter støtte den ordinære sekvens drift av indeksering, kutting,sammensetting, og multiplikasjon. Når du bruker skive oppdrag assignedvalue må være et array-objekt med samme type kode; i alle andre tilfeller,TypeError
er hevet. Array-objekter også gjennomføre buffer grensesnitt,og kan brukes uansett hvor byte-objekter som støttes.
følgende dataelementer og metoder støttes også:
array.
typecode
¶
Den typecode tegn som brukes til å lage tabellen.,
array.
itemsize
¶
lengde i byte) på en matrise elementet i den interne representasjon.
array.
append
(x)¶
Legg til et nytt element med verdi x til slutten av tabellen.
array.
buffer_info
()¶
Gå en tuple (address, length)
å gi det aktuelle minnet adresse og thelength i elementer av bufferen brukes til å holde utvalg innholdet. Størrelsen på thememory buffer i byte kan beregnes som array.buffer_info() *array.itemsize
., Dette er av og til nyttig når du arbeider med lavt nivå (andinherently usikre) I/O-grensesnitt som krever minne-adresser, for eksempel visseioctl()
operasjoner. De returnerte tallene er gyldig så lenge arrayexists og ingen lengde-endre operasjoner er brukt til det.
Merk
Ved hjelp av array-objekter fra kode skrevet i C eller C++ (den eneste måten toeffectively gjøre bruk av denne informasjonen), det er mer fornuftig å bruke bufferinterface støttes av array-objekter. Denne metoden er opprettholdt for backwardcompatibility og bør unngås i ny kode., Bufferen grensesnitt isdocumented i Buffer-Protokollen.
array.
byteswap
()¶
«Byteswap» alle elementene i matrisen. Dette støttes bare for verdier som are1, 2, 4 eller 8 bytes, for andre typer verdier, RuntimeError
israised. Det er nyttig når du leser data fra en fil som er skrevet på en maskin med adifferent byte-rekkefølge.
array.
count
(x)¶
Gå antall forekomster av x i tabellen.,
array.
extend
(iterable)¶
Legge til elementer fra iterable til slutten av tabellen. Hvis iterable er anotherarray, det må bestå av nøyaktig samme type kode; hvis ikke, TypeError
willbe hevet. Hvis iterable er ikke et utvalg, må det være iterable og dens elementsmust være den riktige typen å bli lagt til i tabellen.
array.
frombytes
(s)¶
Legger inn elementer fra strengen, tolke string som en rekke machinevalues (som om det hadde vært å lese fra en fil ved bruk av fromfile()
metode).,
Ny i versjon 3.2: fromstring()
er omdøpt til frombytes()
for klarhet.
array.
fromfile
(f, n)¶
Les n elementer (som maskin-verdier) fra fil-objektet f og appendthem til slutten av tabellen. Hvis mindre enn n elementer er tilgjengelige,EOFError
er hevet, men de elementene som var tilgjengelig er stillinserted i tabellen. f må være et reelt innebygd i filen objekt; somethingelse med en read()
metoden vil ikke gjøre.,
array.
fromlist
(liste)¶
Legge til elementer fra listen. Dette tilsvarer for x in list:a.append(x)
bortsett fra at hvis det er en type feil, matrisen er uendret.
array.
fromunicode
(s)¶
Strekker seg denne matrisen med data fra den gitte unicode-streng. Tabellen mustbe en type 'u'
array; ellers en ValueError
er hevet. Brukarray.frombytes(unicodestring.encode(enc))
for å legge til Unicode-data til anarray av noen andre typen.,
array.
index
(x)¶
gå Tilbake den minste jeg slik at jeg er indeksen til første forekomst ofx i tabellen.
array.
insert
(i, x)¶
Sett inn nytt objekt med verdien x i tabellen før posisjonen jeg. Negativevalues er behandlet som å være i forhold til slutten av tabellen.
array.
pop
()¶
Fjerner elementet med indeks jeg fra matrise og returnerer det., Den optionalargument standard -1
, slik at standarden er det siste elementet er fjernet andreturned.
array.
remove
(x)¶
du vil Fjerne den første forekomsten av x fra tabellen.
array.
reverse
()¶
du vil Snu rekkefølgen av elementer i tabellen.
array.
tobytes
()¶
Konverter matrisen til en matrise av maskinen verdier og returnere bytesrepresentation (samme sekvens av bytes som ville bli skrevet til en fil bythe tofile()
metode.,)
Ny i versjon 3.2: tostring()
er omdøpt til tobytes()
for klarhet.
array.
tofile
(f)¶
Skriv alle elementer (som maskin-verdier) til fil-objektet f.
array.
tolist
()¶
Konvertere tabellen til et vanlig liste med de samme elementene.
array.
tounicode
()¶
Konvertere tabellen til et unicode-streng. Matrisen må være en type 'u'
array;ellers en ValueError
er hevet., Bruk array.tobytes().decode(enc)
toobtain en unicode-streng fra et utvalg av noen andre typen.
Når et array-objekt er skrevet ut, eller konverteres til en streng, det er representert somarray(typecode, initializer)
. Den initializer er utelatt hvis matrisen isempty, ellers er det en streng hvis typecode er 'u'
, ellers er det en rekke tall. Strengen er garantert å være i stand til å konverteres tilbake til anarray med samme type og verdi ved hjelp av eval()
, så lengearray
klassen har blitt importert ved hjelp av from array import array
.,Eksempler:
– >
array('l')array('u', 'hello \u2641')array('l', )array('d', )
Se også
Modulen struct
Pakking og utpakking av heterogene binære data.
Modulen xdrlib
Pakking og utpakking av Eksterne Data Representasjon (XDR) data som brukes i someremote prosedyre anrop systemer.
Den Numeriske Python Dokumentasjon
Den Numeriske Python-extension (NumPy) definerer en annen matrise; om dette på http://www.numpy.org/ for ytterligere informasjon om Numerisk Python.