11 Må-kjenne Python-listemetoder

I denne opplæringen lærer du hvordan du bruker Python-listemetoder for å legge til elementer i, endre og fjerne elementer fra Python-lister.

Når du begynner med programmering i Python, er lister en av de første innebygde datastrukturene du lærer om. I løpet av de neste minuttene vil vi gjennomgå det grunnleggende om Python-lister og deretter gå over flere nyttige listemetoder som du kan bruke når du arbeider med lister.

La oss begynne!

En oversikt over Python-lister

I Python er en liste en samling av elementer av samme eller forskjellige datatyper. Du kan gå gjennom samlingen for å få tilgang til elementene ved å bruke loop-konstruksjoner som for loops.

Som alle Python iterables følger lister null indeksering og støtter skjæringsoperasjon.

De er mutable samlinger slik at du kan endre dem på plass. Dette inkluderer å legge til og fjerne elementer fra listen, sortere elementene i en bestemt rekkefølge, reversere rekkefølgen på elementer og mye mer. Pythons innebygde listemetoder hjelper deg med å utføre disse handlingene.

Deretter, la oss se på noen nyttige Python-listemetoder.

Innebygde listemetoder i Python

I denne delen lærer vi noen listemetoder som vil komme godt med. Vi skal kode eksempler for å se disse listemetodene i aksjon.

Vi bruker følgende pgm_langs-liste. Det er en liste over strenger som inneholder navn på populære programmeringsspråk.

pgm_langs = ['Python','Go','Rust','JavaScript']

Sett inn listeelementer med insert()

Det kan være lurt å sette inn et element ved en bestemt indeks. For å gjøre dette kan du bruke insert()-metoden. Insert() listemetodekallet tar inn:

  • Indeksen der elementet skal settes inn, og
  • Elementet som skal settes inn.
  Alt du trenger å vite om e-posthodeanalyse [+6 Best Analyzers]

La oss sette inn «Scala» ved indeks 1 ved å bruke index()-metoden.

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Legg til element i listen med append()

Noen ganger må du kanskje legge til et element på slutten av listen. For å gjøre dette kan du bruke append()-metoden.

La oss legge til strengen «Java» på slutten av listen ved å bruke append()-metoden.

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Legg til en iterabel med extend()

Du vet at du kan bruke append()-metoden for å legge til et enkelt element. Men hva om du ønsker å legge til mer enn ett element til en eksisterende liste, for eksempel en liste over elementer? extend()-metoden gir en kortfattet syntaks for å gjøre det.

La oss legge til elementene i listen more_langs til pgm_langs-listen ved å bruke extend()-metoden.

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Du kan gå gjennom listen over elementer og bruke append()-metoden for å legge til ett element om gangen. Dette er imidlertid detaljert. Og det er mer praktisk å bruke extend()-metoden i stedet.

for lang in more_langs:
    pgm_langs.append(lang)

Reversere en liste med reverse()

For å snu rekkefølgen på elementer i en liste, kan du kalle reverse()-metoden.

Vi ser at pgm_langs-listen har blitt reversert på plass.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Sorter en liste med sort()

Du kan sortere Python-listen på plass ved å bruke sort()-metoden. Siden pgm_langs er en liste over strenger, ser vi at sorteringen skjer i alfabetisk rekkefølge.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

For å sortere listen i omvendt alfabetisk rekkefølge, kan du sette revers-parameteren til True i sort()-metodekallet.

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Lær mer om sortering av Python-lister.

  Hvordan lage en ny e-postadresse for Outlook

Lag en grunn kopi med kopi()

Noen ganger kan det være nyttig å endre en kopi av den opprinnelige listen i stedet for å endre selve den opprinnelige listen. Listemetoden copy() returnerer en grunn kopi av Python-listen.

La oss lage en grunn kopi av pgm_langs-listen og kalle den pgm_langs_copy. Og vi setter det første elementet i listen til «Haskell», og skriver det ut.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Imidlertid ser vi at pgm_langs-listen ikke er modifisert. Derfor endrer ikke den opprinnelige listen å lage en grunn kopi og endre den.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Få varetelling med antall()

Noen ganger er det nyttig å vite hvor mange ganger et bestemt element forekommer i en liste. count()-metoden returnerer antall ganger et element forekommer i en liste.

I pgm_langs-listen forekommer alle elementer nøyaktig én gang. Så når vi prøver å få tellingen for «Go», får vi 1, som er riktig.

print(pgm_langs.count('Go'))
# Output: 1

Å bruke count()-metoden er en av måtene å fjerne dupliserte elementer fra Python-lister.

Få indeks over et element med indeks()

For å finne indeksen til et element på en Python-liste, kan du bruke index()-metoden. Anta at vi ønsker å finne indeksen til «C#» i pgm_langs-listen. Vi kan bruke assert-setningen for å bekrefte at elementet som indeks 7 er «C#».

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Fjern element ved en indeks med pop()

La oss nå se på listemetodelistemetoder for å fjerne elementer fra Python-lister. Pop()-metoden brukes til å fjerne og returnere et element ved en bestemt indeks. Fra forrige kodeeksempel vet vi at «C#» er språket i indeks 7.

  Disse 5 Wi-Fi Finder-appene hjelper deg med å finne offentlig Wi-Fi i nærheten

Når vi kaller pop()-metoden på pgm_langs-listen med 7 som indeks, ser vi at den returnerer «C#», elementet ved indeks 7, og den fjerner det også fra listen.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Så pop()-metoden fjerner og returnerer et element ved den angitte indeksen. Det er imidlertid valgfritt å spesifisere indeksen. Når du ikke spesifiserer indeksen, fjerner og returnerer pop()-metoden det siste elementet i Python-listen, som vist:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Fjern elementer med remove()

Noen ganger vet du kanskje hvilket element du skal fjerne, men ikke indeksen. I dette tilfellet kan du bruke metoden remove() – som tar inn et element for å fjerne og fjerner det. La oss fjerne «Java» fra pgm_langs-listen ved å bruke remove()-metoden som vist.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Fjern alle elementer med clear()

Hva om du vil fjerne alle elementene fra en Python-liste? Du kan gå gjennom listen og fjerne hvert element ved å bruke remove()-metoden, slik:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Men finnes det en bedre måte? Ja, ved å bruke clear()-metoden. Vi ser at å kalle clear-metoden på pgm_langs-listen fjerner alle elementene, og pgm_langs er nå en tom liste.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Et sammendrag av Python-listemetoder

La oss raskt oppsummere de ulike listemetodene og deres syntaks:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Setter inn elt ved indeks i list1append()list1.append(elt)Legger elt til slutten av list1extend()list1.extend(list2)Legger til elementer fra liste2 til slutten av list1sort ()list1.sort()Sorterer listen i placereverse()list1.reverse()Reverserer liste1 i placecopy()list1.copy()Returnerer en grunn kopi av list1count()list1.count(elt)Returnerer tellingen av elt i list1index()list1.index(elt) Returnerer indeks for elt i list1pop()list1.pop(index)Fjerner elt ved indeks og returnerer den. remove()list1.remove(elt)Fjerner elt fra list1clear()list1.clear()Fjerner alle elementer fra liste1

Konklusjon

Jeg håper denne opplæringen hjalp deg med å forstå hvordan du bruker noen av de vanligste listemetodene i Python. Som et neste trinn kan du lære om Python-tupler og forskjellene mellom lister og tuples i Python.

Hvis du lærer Python, kan du sjekke ut denne listen over nybegynnervennlige læringsressurser.