11 Must-Know Python List metoder

I denne øvelse lærer du, hvordan du bruger Python-listemetoder til at tilføje elementer til, ændre og fjerne elementer fra Python-lister.

Når du starter med programmering i Python, er lister en af ​​de første indbyggede datastrukturer, som du lærer om. I løbet af de næste par minutter vil vi gennemgå det grundlæggende i Python-lister og derefter gennemgå flere nyttige listemetoder, som du kan bruge, når du arbejder med lister.

Lad os begynde!

En oversigt over Python-lister

I Python er en liste en samling af elementer af samme eller forskellige datatyper. Du kan sløjfe gennem samlingen for at få adgang til elementerne ved hjælp af sløjfekonstruktioner, såsom for sløjfer.

Som alle Python iterables følger lister nul indeksering og understøtter udskæringsoperation.

De er foranderlige samlinger, så du kan ændre dem på plads. Dette inkluderer tilføjelse og fjernelse af elementer fra listen, sortering af elementerne i en bestemt rækkefølge, omvendt rækkefølge af elementer og meget mere. Pythons indbyggede listemetoder hjælper dig med at udføre disse handlinger.

Lad os derefter se på nogle nyttige Python-listemetoder.

Indbyggede listemetoder i Python

I dette afsnit lærer vi nogle listemetoder, der vil være nyttige. Vi koder eksempler for at se disse listemetoder i aktion.

Vi bruger følgende pgm_langs liste. Det er en liste over strenge, der indeholder navnene på populære programmeringssprog.

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

Indsæt listeelementer med insert()

Du ønsker måske at indsætte et element i et bestemt indeks. For at gøre dette kan du bruge insert() metoden. Insert() listemetodekaldet tager ind:

  • Indekset, hvor elementet skal indsættes, og
  • Elementet, der skal indsættes.
  Sådan får du vist meddelelsescenter på iPhone og iPad

Lad os indsætte ‘Scala’ ved indeks 1 ved hjælp af index() metoden.

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

Føj vare til listen med append()

Nogle gange kan det være nødvendigt at tilføje et element til slutningen af ​​listen. For at gøre dette kan du bruge append() metoden.

Lad os tilføje strengen ‘Java’ til slutningen af ​​listen ved hjælp af append() metoden.

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

Tilføj en iterabel med extend()

Du ved, at du kan bruge append()-metoden til at tilføje et enkelt element. Men hvad nu hvis du gerne vil tilføje mere end ét element til en eksisterende liste, f.eks. en liste over elementer? Metoden extend() giver en kortfattet syntaks til at gøre det.

Lad os tilføje elementerne i listen more_langs til pgm_langs-listen ved hjælp af 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å gennem listen over elementer og bruge append()-metoden til at tilføje et element ad gangen. Dette er dog udførligt. Og det er mere praktisk at bruge extend()-metoden i stedet for.

for lang in more_langs:
    pgm_langs.append(lang)

Vend en liste med reverse()

For at vende rækkefølgen af ​​elementer i en liste, kan du kalde metoden reverse().

Vi ser, at pgm_langs-listen er blevet omvendt på plads.

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å plads ved at bruge sort()-metoden. Da pgm_langs er en liste over strenge, ser vi, at sorteringen sker i alfabetisk rækkefølge.

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

For at sortere listen i omvendt alfabetisk rækkefølge kan du sætte parameteren omvendt til True i sort()-metodekaldet.

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

Lær mere om sortering af Python-lister.

  Sådan aktiverer og bruger du Split Screen i Microsoft Edge

Lav en lavvandet kopi med kopi()

Det kan nogle gange være nyttigt at ændre en kopi af den originale liste i stedet for at ændre selve den originale liste. Listemetoden copy() returnerer en overfladisk kopi af Python-listen.

Lad os lave en overfladisk kopi af pgm_langs-listen og kalde den pgm_langs_copy. Og vi sætter det første element i listen til ‘Haskell’ og printer det ud.

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']

Vi ser dog, at pgm_langs-listen ikke er ændret. At oprette en overfladisk kopi og ændre den ændrer derfor ikke den originale liste.

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

Få vareantal med antal()

Nogle gange er det nyttigt at vide, hvor mange gange et bestemt element forekommer på en liste. count()-metoden returnerer antallet af gange, et element forekommer på en liste.

I pgm_langs-listen forekommer alle elementer nøjagtigt én gang. Så når vi forsøger at få tællingen af ​​’Go’, får vi 1, hvilket er korrekt.

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

Brug af metoden count() er en af ​​måderne til at fjerne duplikerede elementer fra Python-lister.

Hent indeks over en vare med index()

For at finde indekset for et element på en Python-liste kan du bruge index()-metoden. Antag, at vi gerne vil finde indekset for ‘C#’ i pgm_langs-listen. Vi kan bruge assert-sætningen til at verificere, at elementet, som indeks 7 er ‘C#’.

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

Fjern element ved et indeks med pop()

Lad os nu se på listemetodelistemetoder til at fjerne elementer fra Python-lister. Pop()-metoden bruges til at fjerne og returnere et element ved et bestemt indeks. Fra det forrige kodeeksempel ved vi, at ‘C#’ er sproget i indeks 7.

  Sådan oplader du din bærbare computer hvor som helst med en bærbar oplader

Når vi kalder 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 det angivne indeks. Det er dog valgfrit at angive indekset. Når du ikke angiver indekset, fjerner og returnerer pop()-metoden det sidste element 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()

Nogle gange ved du måske, hvilket element du skal fjerne, men ikke dets indeks. I dette tilfælde kan du bruge metoden remove() – som tager et element ind for at fjerne og fjerner det. Lad os fjerne ‘Java’ fra pgm_langs-listen ved at bruge metoden remove() som vist.

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

Fjern alle elementer med clear()

Hvad hvis du gerne vil fjerne alle elementerne fra en Python-liste? Du kan gå gennem listen og fjerne hvert element ved hjælp af remove()-metoden, sådan her:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Men er der en bedre måde? Ja, ved at bruge clear() metoden. Vi ser, at kald af clear-metoden på pgm_langs-listen fjerner alle elementerne, og pgm_langs er nu en tom liste.

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

En oversigt over Python List-metoder

Lad os hurtigt opsummere de forskellige listemetoder og deres syntaks:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Indsætter elt ved indeks i list1append()list1.append(elt)Tilføjer elt til slutningen af ​​list1extend()list1.extend(list2)Tilføjer elementer fra liste2 til slutningen af ​​list1sort ()list1.sort()Sorterer listen i placereverse()list1.reverse()Reverserer liste1 i placecopy()list1.copy()Returnerer en lav kopi af list1count()list1.count(elt)Returnerer antallet af elt i list1index()list1.index(elt) Returnerer indeks for elt i list1pop()list1.pop(index)Fjerner elt ved indeks og returnerer det. remove()list1.remove(elt)Fjerner elt fra list1clear()list1.clear()Fjerner alle elementer fra liste1

Konklusion

Jeg håber, at denne vejledning hjalp dig med at forstå, hvordan du bruger nogle af de mest almindelige listemetoder i Python. Som et næste trin kan du lære om Python-tupler og forskellene mellem lister og tupler i Python.

Hvis du lærer Python, kan du tjekke denne liste over begyndervenlige læringsressourcer.