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.