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!
Innholdsfortegnelse
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.
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.
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.
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.