Python Listeforståelse, tilføjelse, sortering, længde [EKSEMPLER]

Hvad er en Python Liste?

En liste er præcis, hvad det lyder som, en beholder, der indeholder forskellige Python objekter, som kunne være heltal, ord, værdier osv. Det svarer til en matrix i andre programmeringssprog. Det er repræsenteret af firkantede parenteser (og dette er en af ​​de egenskaber, der adskiller det fra tupler, som er adskilt af parenteser). Den kan også ændres, dvs. den kan ændres eller opdateres; i modsætning til tupler, som er uforanderlige.

Eksempler på Python lister:

Python lister kan være homogene, hvilket betyder, at de kan indeholde den samme type objekter; eller heterogen, herunder forskellige typer objekter.

Eksempler på homogene lister omfatter:

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 omfatter:

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

Adgang til værdier i lister

For at få adgang til værdier i lister kan indekset for objekterne inde i listerne bruges. Et indeks i Python lister refererer til placeringen af ​​et element i en ordnet liste. For eksempel:

list = [3, 22, 30, 5.3, 20]
  • Den første værdi på listen ovenfor, 3, har et indeks på 0
  • Den anden værdi, 22, har et indeks på 1
  • Den tredje værdi, 30, har et indeks på 2

og så videre. For at få adgang til hver af værdierne fra listen skal du bruge:

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 sidste medlem af en liste kan også tilgås ved at bruge indekset -1. For eksempel,

list[-1] = 20

Python Liste udskæring

Listeudskæring er metoden til at opdele en delmængde af en liste, og indekserne for listeobjekterne bruges også til dette. For eksempel ved at bruge det 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, og det betyder, at det sidste indeks under listeudskæring normalt ignoreres. Det er derfor

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

, og ikke [30, 5.3, 20]. Det samme gælder for alle de andre listeudskæringseksempler givet ovenfor.

Opdatering af lister

Lad os sige, at du har en liste = [fysik, kemi, matematik], og du vil ændre listen til [biologi, kemi, matematik], hvilket effektivt ændrer medlemmet ved indeks 0. Det kan nemt gøres ved at tildele det indeks til nyt medlem du ønsker.

Det er,

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

Output: [biologi, kemi, matematik]

Dette erstatter medlemmet ved indeks 0 (fysik) med den nye værdi, du ønsker (kemi). Dette kan gøres for ethvert medlem eller undersæt af listen, du ønsker at ændre.

For at give et andet eksempel; Lad os sige, at du har en liste, der hedder heltal, og som indeholder tallene [2, 5, 9, 20, 27]. For at erstatte 5 på listen med 10, kan du gøre det med:

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

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

For at erstatte det sidste medlem af listen over heltal, som er 27, med et ledigt tal som 30.5, ville du bruge:

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

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

Sletning af listeelementer

Der er 3 Python metoder til at slette listeelementer: list.remove(), list.pop() og del-operator. Remove-metoden tager det bestemte element, der skal fjernes, som et argument, mens pop og del tager indekset for det element, der skal fjernes, som et argument. For eksempel:

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

For at slette 3 (det 1. element) fra listen, kan du bruge:

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

For at slette 8, elementet i indeks 3, fra listen, kan du bruge:

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

Tilføjelse af listeelementer

For at tilføje elementer til en liste, bruges tilføjelsesmetoden, og denne tilføjer elementet til slutningen af ​​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 over indbyggede funktioner (metoder)

Følgende er en liste over indbyggede funktioner og metoder med deres beskrivelser:

  • len(liste): dette giver længden af ​​listen som output. For eksempel:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • max(liste): returnerer varen på listen med den maksimale værdi. For eksempel:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min(liste): returnerer varen på listen med minimumsværdien. For eksempel:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • liste (tuple): konverterer et tupelobjekt til en liste. For eksempel;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
  • liste.tilføj(element): føjer elementet til listen. For eksempel;
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • liste.pop(indeks): fjerner elementet ved det angivne indeks 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(): vender objekterne på listen. For eksempel;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • liste.indeks(element): for at få indeksværdien af ​​et element på listen. For eksempel;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
  • sum(liste): for at få summen af ​​alle værdierne i listen, hvis værdierne er alle tal (heltal eller decimaler). For eksempel;
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)

>>> 17

Hvis listen indeholder et element, der ikke er et tal, såsom en streng, ville summetoden ikke fungere. Du får en fejl, der siger: "TypeFejl: ikke-understøttede operandtyper for +: 'int' og 'str'"

  • list.sort(): for at arrangere en liste over heltal, flydende kommatal eller strenge i stigende eller faldende rækkefø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 andet 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 strenge kan også sorteres, enten alfabetisk eller efter længden af ​​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 liste alfabetisk ved at bruge 'strenge.

Går gennem lister

Looping gennem lister kan udføres på samme måde som enhver anden looping-funktion Python. På denne måde kan en metode udføres på flere elementer i en liste på samme tid. For eksempel:

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

For at gennemgå alle elementerne på denne liste, og lad os sige, skal du tilføje 10 til hvert element:

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

At gå gennem de første tre elementer på listen og slette dem alle;

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

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

At sløjfe gennem 3rd (indeks 2) til sidste element på listen, og føj dem til en ny liste kaldet 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åde kan enhver metode eller funktion anvendes på medlemmerne af en liste for at udføre en bestemt operation. Du kan enten sløjfe gennem alle medlemmer af listen eller sløjfe gennem en undergruppe af listen ved at bruge listeudskæring.

Listeforståelser Python

Listeforståelser er Python funktioner, der bruges til at skabe nye sekvenser (såsom lister, ordbøger osv.) ved hjælp af sekvenser, der allerede er oprettet. De hjælper med at reducere længere sløjfer og gør din kode nemmere at læse og vedligeholde.

For eksempel; Lad os sige, at du ville lave en liste, som indeholder kvadraterne af 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 at gøre det samme med listeforståelser:

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 det ses ovenfor, er det meget kortere at skrive koden ved hjælp af listeforståelser end at bruge traditionel til loops, og det er også hurtigere. Dette er blot et eksempel på brug af listeforståelser i stedet for for loops, men dette kan replikeres og bruges mange steder, hvor for loops også kan bruges. Nogle gange er det bedre at gå med en for-løkke, især hvis koden er kompleks, men i mange tilfælde vil listeforståelser gøre din kodning nemmere og hurtigere.

Nedenfor er en tabel, der indeholder nogle listefunktioner og -metoder og deres beskrivelser.

Indbyggede funktioner

FUNCTION BESKRIVELSE
Rund() Afrunder det tal, der sendes som argument, til et angivet antal cifre og returnerer den flydende kommaværdi
min() returnere minimumselement af en given liste
max() returnere det maksimale element af en given liste
len () Returnerer længden af ​​listen
Enumerate() Denne indbyggede funktion genererer både værdier og indekser for elementer i en iterabel, så vi behøver ikke at tælle manuelt
Filter() tester, om hvert element i en liste er sandt eller ej
Lambda Et udtryk, der kan forekomme på steder, hvor en def (til oprettelse af funktioner) ikke er syntaktisk, inde i en listeliteral eller en funktions kaldeargumenter
Kort() returnerer en liste over resultaterne efter at have anvendt den givne funktion på hvert element i en given iterabel
Ophobe() anvende en bestemt funktion, der er sendt i dens argument til alle listeelementerne, returnerer en liste, der indeholder de mellemliggende resultater
sum() Returnerer summen af ​​alle tallene på listen
Cmp() Dette bruges til at sammenligne to lister og returnerer 1, hvis den første liste er større end den anden liste.
indsatte Indsæt element til listen på en bestemt position

Liste over metoder

FUNCTION BESKRIVELSE
Tilføj() Tilføjer et nyt element til slutningen af ​​listen
Klar() Fjerner alle elementer fra listen
Kopi() Returnerer en kopi af den originale liste
Forlænge() Tilføj mange elementer til slutningen af ​​listen
Tælle() Returnerer antallet af forekomster af et bestemt element på en liste
Indeks() Returnerer indekset for et bestemt element i en liste
Pop () Sletter element fra listen ved bestemt indeks (slet efter position)
Fjerne() Sletter specificeret element fra listen (slet efter værdi)
Reverse() In-place reverseringsmetode, som vender rækkefølgen af ​​elementerne på listen

Resumé

  • En liste er præcis, hvad det lyder som, en beholder, der indeholder forskellige Python objekter, som kunne være heltal, ord, værdier osv.
  • Python lister kan være homogene, hvilket betyder, at de kan indeholde den samme type objekter; eller heterogen, indeholdende forskellige typer objekter.
  • For at få adgang til værdier i lister kan indekset for objekterne inde i listerne bruges.
  • Listeudskæring er metoden til at opdele en delmængde af en liste, og indekserne for listeobjekterne bruges også til dette.
  • Tre metoder til at slette listeelementer er: 1)list.remove(), 2)list.pop() og 3)del-operator
  • Tilføj metode bruges til at tilføje elementer. Dette tilføjer elementet til slutningen af ​​listen.
  • Looping metode af Python program kan udføres på flere elementer i en dataliste på samme tid.
  • Listeforståelser er Python funktioner, der bruges til at skabe nye sekvenser (såsom lister, ordbøger osv.) ved hjælp af sekvenser, der allerede er oprettet.