Python Listeforståelse, vedlegg, sortering, lengde [EKSEMPLER]

Hva er en Python Liste?

En liste er akkurat hva det høres ut som, en beholder som inneholder forskjellige Python objekter, som kan være heltall, ord, verdier osv. Det tilsvarer en matrise i andre programmeringsspråk. Den er representert med firkantede parenteser (og dette er en av attributtene som skiller den fra tupler, som er atskilt med parenteser). Den er også mutbar, det vil si at den kan endres eller oppdateres; i motsetning til tupler, som er uforanderlige.

Eksempler Python lister:

Python lister kan være homogene, noe som betyr at de kan inneholde samme type objekter; eller heterogen, inkludert ulike typer objekter.

Eksempler på homogene lister inkluderer:

list of integers =  [1, 2, 3, 8, 33]
list of animals = ['dog', 'cat', 'goat']
list of names = ['John', 'Travis', 'Sheila']
list of floating numbers = [2.2, 4.5, 9.8, 10.4]

Eksempler på heterogene lister inkluderer:

[2, 'cat', 34.33, 'Travis']
[2.22, 33, 'pen']

Tilgang til verdier i lister

For å få tilgang til verdier i lister kan indeksen til objektene i listene brukes. En indeks i Python lister refererer til plasseringen av et element i en ordnet liste. For eksempel:

list = [3, 22, 30, 5.3, 20]
  • Den første verdien i listen ovenfor, 3, har en indeks på 0
  • Den andre verdien, 22, har en indeks på 1
  • Den tredje verdien, 30, har en indeks på 2

og så videre. For å få tilgang til hver av verdiene fra listen, bruker du:

list[0] to access 3
list[1] to access 22
list[2] to access 30
list[3] to access 5.3
list[4] to access 20

Det siste medlemmet av en liste kan også nås ved å bruke indeksen -1. For eksempel

list[-1] = 20

Python Liste skjæring

Liste-slicing er metoden for å dele opp et delsett av en liste, og indeksene til listeobjektene brukes også til dette. For eksempel ved å bruke samme listeeksempel ovenfor;

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];
list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);
list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)
list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

Python lister er eksklusive for øvre grense, og dette betyr at den siste indeksen under listeskjæring vanligvis ignoreres. Det er derfor

list[2:-1] = [30, 5.3]

, og ikke [30, 5.3, 20]. Det samme gjelder for alle de andre listeskjæringseksemplene gitt ovenfor.

Oppdaterer lister

La oss si at du har en liste = [fysikk, kjemi, matematikk], og du vil endre listen til [biologi, kjemi, matematikk], og effektivt endre medlemmet ved indeks 0. Det kan enkelt gjøres ved å tilordne den indeksen til nytt medlem du ønsker.

Det er,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

Utdata: [biologi, kjemi, matematikk]

Dette erstatter medlemmet ved indeks 0 (fysikk) med den nye verdien du ønsker (kjemi). Dette kan gjøres for ethvert medlem eller undersett av listen du vil endre.

For å gi et annet eksempel; la oss si at du har en liste som heter heltall og inneholder tallene [2, 5, 9, 20, 27]. For å erstatte 5 i den listen med 10, kan du gjøre det med:

integers = [2, 5, 9, 20, 27]
           integers[1] = 10
           print(integers)

>>> [2, 10, 9, 20, 27]

For å erstatte det siste medlemmet av listen over heltall, som er 27, med et ledig tall som 30.5, bruker du:

integers = [2, 5, 9, 20, 27]
           integers[-1] = 30.5
           print(integers)

>>> [2, 5, 9, 20, 30.5]

Sletting av listeelementer

Det er 3 Python metoder for å slette listeelementer: list.remove(), list.pop() og del-operator. Remove-metoden tar det bestemte elementet som skal fjernes som et argument mens pop og del tar indeksen til elementet som skal fjernes som et argument. For eksempel:

liste = [3, 5, 7, 8, 9, 20]

For å slette 3 (det første elementet) fra listen, kan du bruke:

  • list.remove(3) eller
  • list.pop[0], eller
  • del liste[0]

For å slette 8, elementet i indeks 3, fra listen, kan du bruke:

  • list.remove(8), eller
  • list.pop[3]

Legger til listeelementer

For å legge til elementer i en liste, brukes append-metoden, og denne legger elementet til på slutten av listen.

For eksempel:

list_1 = [3, 5, 7, 8, 9, 20]
    list_1.append(3.33)
    print(list_1)

    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]

    list_1.append("cats")
    print(list_1)
    >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

Liste innebygde funksjoner (metoder)

Følgende er en liste over innebygde funksjoner og metoder med deres beskrivelser:

  • len(liste): dette gir lengden på listen som utdata. For eksempel:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • maks(liste): returnerer elementet i listen med maksimumsverdien. For eksempel:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min(liste): returnerer elementet i listen med minimumsverdien. For eksempel:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • liste (tuppel): konverterer et tuppelobjekt til en liste. For eksempel;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
  • list.append(element): legger til elementet i listen. For eksempel;
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • list.pop(indeks): fjerner elementet ved den angitte indeksen fra listen. For eksempel;
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
  • liste.fjern(element): sletter elementet fra listen. For eksempel;
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • liste.omvendt(): reverserer objektene i listen. For eksempel;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • liste.indeks(element): for å få indeksverdien til et element i listen. For eksempel;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
  • sum(liste): for å få summen av alle verdiene i listen, hvis verdiene er alle tall (heltall eller desimaler). For eksempel;
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)

>>> 17

Hvis listen inneholder et element som ikke er et tall, for eksempel en streng, vil ikke summetoden fungere. Du vil få en feilmelding som sier: "Typeerror: operandtype(r) som ikke støttes for +: 'int' og 'str'"

  • list.sort(): for å ordne en liste over heltall, flyttall eller strenger, i stigende eller synkende rekkefølge. For eksempel:
values = [1, 7, 9, 3, 5]
# To sort the values in ascending order:
values.sort()
print(values)

>>> [1, 3, 5, 7, 9]

Et annet eksempel:

values = [2, 10, 7, 14, 50]
# To sort the values in descending order:
values.sort(reverse = True)
print(values)

>>> [50, 14, 10, 7, 2]

En liste over strenger kan også sorteres, enten alfabetisk eller etter lengden på strengene. For eksempel;

# to sort the list by length of the elements
strings = ['cat', 'mammal', 'goat', 'is']
sort_by_alphabet = strings.sort()
sort_by_length = strings.sort(key = len)
print(sort_by_alphabet)
print(sort_by_length)

>>> ['cat', 'goat', 'is', 'mammal']
        ['is', 'cat', 'goat', 'mammal']

Vi kan sortere den samme listen alfabetisk ved å bruke 'strenger.

Går gjennom lister

Looping gjennom lister kan gjøres på akkurat samme måte som enhver annen looping-funksjon Python. På denne måten kan en metode utføres på flere elementer i en liste samtidig. For eksempel:

liste = [10, 20, 30, 40, 50, 60, 70].

For å gå gjennom alle elementene i denne listen, og la oss si, legg til 10 til hvert element:

for elem in list:
        elem = elem + 5
        print(elem)
    
    >>>>15
        25
        35
        45
        55
        65
        75

Å gå gjennom de tre første elementene i listen, og slette alle;

for elem in list[:3]:
    list.remove(elem)

    >>>list = [40, 50, 60, 70]

Å gå gjennom 3rd (indeks 2) til siste element på listen, og legg dem til en ny liste kalt new_list:

new_list = []	
    for elem in list[2:]:
        new_list.append(elem)
        print(“New List: {}”.format(new_list))
    
   Output:
	New List: [30, 40, 50, 60, 70]

På denne måten kan en hvilken som helst metode eller funksjon brukes på medlemmene av en liste for å utføre en bestemt operasjon. Du kan enten gå gjennom alle medlemmene i listen, eller gå gjennom en undergruppe av listen ved å bruke listeskjæring.

Listeforståelser Python

Listeforståelser er Python funksjoner som brukes til å lage nye sekvenser (som lister, ordbøker osv.) ved å bruke sekvenser som allerede er opprettet. De bidrar til å redusere lengre sløyfer og gjør koden din enklere å lese og vedlikeholde.

For eksempel; la oss si at du ville lage en liste som inneholder kvadratene til alle tallene fra 1 til 9:

list_of squares = []
    for int in range(1, 10):
        square = int ** 2
        list_of_squares.append(square)

    print(list_of_squares)

List_of_squares using for loop:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

For å gjøre det samme med listeforståelse:

list_of_squares_2 = [int**2 for int in range(1, 10)]

    print('List of squares using list comprehension: {}'.format(list_of_squares_2))

Output using list comprehension:

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

Som vist ovenfor er det mye kortere å skrive koden ved å bruke listeforståelser enn å bruke tradisjonell for looper, og det er også raskere. Dette er bare ett eksempel på bruk av listeforståelser i stedet for for loops, men dette kan replikeres og brukes mange steder der for loops også kan brukes. Noen ganger er å gå med en for-løkke det bedre alternativet, spesielt hvis koden er kompleks, men i mange tilfeller vil listeforståelse gjøre kodingen enklere og raskere.

Nedenfor er en tabell som inneholder noen listefunksjoner og metoder, og deres beskrivelser.

Innebygde funksjoner

FUNKSJON BESKRIVELSE
Rund() Runder av tallet som ble sendt som argument til et spesifisert antall sifre og returnerer flyttallverdien
min() returnere minimumselement av en gitt liste
Maks() returnere maksimalt element i en gitt liste
len () Returnerer lengden på listen
Enumerate() Denne innebygde funksjonen genererer både verdier og indekser for elementer i en iterabel, så vi trenger ikke å telle manuelt
Filter() tester om hvert element i en liste er sann eller ikke
Lambda Et uttrykk som kan vises på steder hvor en def (for å lage funksjoner) ikke er syntaktisk, inne i en listeliteral eller en funksjons kalleargumenter
Kart() returnerer en liste over resultatene etter å ha brukt den gitte funksjonen på hvert element i en gitt iterabel
Akkumuler() bruke en bestemt funksjon som er sendt i argumentet på alle listeelementene, returnerer en liste som inneholder mellomresultatene
sum() Returnerer summen av alle tallene i listen
Cmp() Dette brukes til å sammenligne to lister og returnerer 1 hvis den første listen er større enn den andre listen.
innfelt Sett inn element i listen på en bestemt posisjon

Liste over metoder

FUNKSJON BESKRIVELSE
Legg til() Legger til et nytt element på slutten av listen
Klar() Fjerner alle elementer fra listen
Kopiere() Returnerer en kopi av den originale listen
Forlenge() Legg til mange elementer på slutten av listen
Telle() Returnerer antall forekomster av et bestemt element i en liste
Indeks() Returnerer indeksen til et spesifikt element i en liste
Pop() Sletter element fra listen ved en bestemt indeks (slett etter posisjon)
Fjerne() Sletter spesifisert element fra listen (slett etter verdi)
Reverse() In-place reverseringsmetode som reverserer rekkefølgen på elementene i listen

Sammendrag

  • En liste er akkurat hva det høres ut som, en beholder som inneholder forskjellige Python objekter, som kan være heltall, ord, verdier osv.
  • Python lister kan være homogene, betyr at de kan inneholde samme type objekter; eller heterogen, som inneholder forskjellige typer objekter.
  • For å få tilgang til verdier i lister kan indeksen til objektene i listene brukes.
  • Liste-slicing er metoden for å dele opp et delsett av en liste, og indeksene til listeobjektene brukes også til dette.
  • Tre metoder for å slette listeelementer er: 1)list.remove(), 2)list.pop() og 3)del-operator
  • Append-metoden brukes til å legge til elementer. Dette legger til elementet på slutten av listen.
  • Looping metode for Python programmet kan utføres på flere elementer i en dataliste samtidig.
  • Listeforståelser er Python funksjoner som brukes til å lage nye sekvenser (som lister, ordbøker osv.) ved å bruke sekvenser som allerede er opprettet.