En jevn forfriskning på Python's Tuples

I mine tidligere oppdateringer, som du kan få tilgang til fra seriens navigasjonslenker øverst i denne artikkelen, snakket jeg om to viktige Python-konsepter du må forstå for å kunne bevege deg videre i Python-læringsreisen. 

Denne opplæringen er en fortsettelse av Python-oppdateringsserien, og i dag skal jeg snakke om tupler.På den måten har du tre viktige konsepter i lommen og vil være klar til å grave dypere i Python-språket.

Så, la oss gå videre og gå direkte til dette interessante emnet av tupler.

Hva om tuples?

Hvis du forsto lister, Tuples vil være veldig enkle å forstå, fordi de ligner på Lister bortsett fra to hovedforskjeller: 

  1. Tuples er uforanderlige, så når du oppretter en Tuple, kan du ikke endre innholdet eller størrelsen, med mindre du lager en kopi av det Tuple.
  2. De er skrevet i parentes () heller enn i firkantede parenteser []

Således, som du kan gjette, består Tuples av et sett bestilte objekter som kan være av noe slag (dvs. Strings, Lister, Ordbøker, Tuples, etc.), og nås av en index (motregning), i motsetning til ordbøker der elementer er tilgjengelige av nøkkel. Det er viktig å merke seg at Tuples butikk referanser til objektene de inneholder.

Før vi går til noen Tuple-operasjoner, la oss se hva en enkel Tuple ser ut som:

tup = (1)

Dette er en enkel Tuple som inneholder ett element, et heltall. Utgangen av denne Tuple vil være 1.

Et annet eksempel på en Tuple med tre elementer av forskjellige objekttyper er som følger:

tup = (31, 'abder', 4.0)

Utgangen for ovennevnte setning er:

(31, 'abder', 4.0)

Du kan til og med skrive ovennevnte Tuple uten parentes som følger:

tup = 31, 'abder', 4.0

Veldig fleksibel, er det ikke?

Som et siste eksempel, la oss se hvordan en nestet Tuple ville se ut:

nested_tuple = ('ID', ('abder', 1234))

Tuple Operations

La oss nå gå gjennom noen Tuple-operasjoner.

sammenkjeding

Sammenkobling er kombinasjonen av Tuples sammen. Si at vi har følgende to tuples:

tuple1 = (1,2,3,4,5)

tuple2 = (6,7,8,9,10)

For å sette sammen tuple1 og tuple2, vi skriver bare:

tup = tuple1 + tuple2

Legg merke til at vi brukte + operatør for å utføre sammenkoblingen. Dette vil resultere i følgende utgang:

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Gjentakelse

Tuple-repetisjon utføres bare ved hjelp av * operatør. Hvis vi vil gjenta tuple1 tre ganger gjør vi følgende:

tuple1 * 3

Resultatet av denne utsagnet er:

(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

Medlemskap

For å sjekke medlemskapet til noe element i Tuple, bruker vi i, som følger:

7 i tuple1

Dette kommer tilbake Falsk siden 7 tilhører ikke tuple1.

Søke

For å indikere hvor noe element ligger i Tuple, bruker vi index. For eksempel, hvis vi vil finne plasseringen av varen 5 i tuple1, Vi gjør følgende:

tuple1.index (5)

I dette tilfellet vil returverdi være 4, som er plasseringen av varen 5.

Telle

En fin operasjon i Tuples teller antall ganger et element eksisterer i Tuple. Si at vi har følgende Tuple:

tuple3 = (65,67,5,67,34,76,67,231,98,67)

Hvis vi vil se hvor mange ganger 67 finnes i tuple3, vi gjør bare følgende:

tuple3.count (67)

Resultatet for denne uttalelsen skal være 4 ganger.

indeksering

Indeksering er prosessen med å få tilgang til et Tuple-element etter indeks (abonnement). Hvis vi ønsker å få tilgang til den femte indeksen i tuple3, Vi gjør følgende:

tuple3 [4]

som kommer tilbake 34.

En indeks kan også være negativ, det vil si at telling starter fra Ikke sant av tuppelen. Dermed er resultatet av tuples3 [-6] vil være 34, forutsatt at rekkevidden av de negative indeksene i tuples3 er [-1, -10]

Hva om du valgte en indeks ut av dette området? Som tuples3 [-11] for eksempel? Dette er hva du vil få i dette tilfellet:

Traceback (siste samtalen sist):

  Fil "tuple.py", linje 2, inn

    skriv ut tuple3 [-11]

IndexError: tuple-indeksen utenfor rekkevidde

Legg merke til at negative indekser starter fra -1. Så, hvis du skrev indeksen som -0, dette er det samme som indeksen 0. Og dermed, tuples3 [-0] vil returnere 65.

slicing

I motsetning til indeksering, som gir oss et element som et resultat, slicing gir oss en rekke elementer. Et eksempel på skiver er følgende setning:

tuples3 [2: 5]

Utgangen av denne setningen kan virke forvirrende i begynnelsen:

(5, 67, 34)

Legg merke til det 76 er ikke inkludert, men i virkeligheten er det i indeksen 5. Dette skyldes at du skar i start indeksen er alltid inkludert, og slutt indeksen er ekskludert, det vil si, ende - 1.

Et annet eksempel på Tuples er som følger:

tuples3 [: 4]

Resultatet av uttalelsen ville være som følger:

(65, 67, 5, 67)

Nå er dette en liten quiz for deg. Hva er resultatet av følgende setning?

tuples3 [4:]

Konklusjon

Du finner mer informasjon om Tuples fra Pythons dokumentasjon. Som du kanskje merker, selv om Tuples fungerer likt Lister, har de ikke så mange metoder som lister, siden Tuples, som nevnt ovenfor, er uforanderlige, det vil si at innholdet i Tuple ikke kan endres.