Hvad er en Python-liste?
En liste er nøjagtigt, hvordan det lyder, en container, der indeholder forskellige Python-objekter, som kan være heltal, ord, værdier osv. Det svarer til et array i andre programmeringssprog. Det er repræsenteret af firkantede parenteser (og dette er en af attributterne, der adskiller det fra tupler, som er adskilt af parenteser). Det kan også ændres, det vil sige, det kan ændres eller opdateres; i modsætning til tupler, som er uforanderlige.
I denne python-tutorial lærer du:
- Hvad er en Python-liste?
- Eksempler på Python-lister:
- Adgang til værdier inden for lister
- Listeskæring
- Opdaterer lister
- Sletning af listeelementer
- Tilføjelse af listeelementer
- Liste over indbyggede funktioner (metoder)
- Gennemgang af lister
- Listeforståelser
Eksempler på Python-lister:
Python-lister kan være homogene, hvilket betyder at de kan indeholde den samme type objekter; eller heterogen, inklusive forskellige 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']
Adgang til værdier inden for lister
For at få adgang til værdier inden for lister kan indekset over objekterne inde i listerne bruges. Et indeks i Python-lister henviser til placeringen af et element inden for en ordnet liste. For eksempel:
list = [3, 22, 30, 5.3, 20]
- Den første værdi i 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 bruger du:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Det sidste medlem af en liste kan også fås ved hjælp af indekset -1. For eksempel,
list[-1] = 20
Listeskæring
Listeskæring er metoden til opdeling af et undersæt af en liste, og indekserne for listeobjekterne bruges også til dette. For eksempel ved hjælp af 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 øvre grænser, 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 eksempler på listeudskæring ovenfor.
Opdaterer lister
Lad os sige, at du har en liste = [fysik, kemi, matematik], og du vil ændre listen til [biologi, kemi, matematik] og effektivt ændre medlemmet ved indeks 0. Det kan let gøres ved at tildele dette indeks til nyt medlem, du ønsker.
Det er,
list = [physics, chemistry, mathematics]list[0] = biologyprint(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 delmængde af listen, du vil ændre.
For at give et andet eksempel; Lad os sige, at du har en liste kaldet heltal og 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] = 10print(integers)>>> [2, 10, 9, 20, 27]
For at erstatte det sidste medlem af listen over heltal, som er 27, med et frit nummer som 30,5, skal du bruge:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Sletning af listeelementer
Der er 3 Python-metoder til sletning af listeelementer: list.remove (), list.pop () og del-operator. Fjern metode 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 første 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 føje elementer til en liste bruges append-metoden, og dette 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 listefunktioner og metoder med deres beskrivelser:
- len (liste): dette giver længden på listen som output. For eksempel:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (liste): returnerer elementet på listen med den maksimale værdi. For eksempel:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (liste): returnerer elementet på listen med minimumsværdien. For eksempel:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- liste (tuple): konverterer et tupleobjekt til en liste. For eksempel;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): føjer elementet til listen. For eksempel;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (index): fjerner elementet ved det angivne index fra listen. For eksempel;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): sletter elementet fra listen. F.eks.
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): vender objekterne på listen. For eksempel;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): for at få indeksværdien af et element i 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 på 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, fungerer summetoden ikke. Du får en fejl med at sige: " TypeError : ikke-understøttede operand-typer for +: 'int' og 'str'"
- list.sort (): for at arrangere en liste med heltal, flydende numre 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 strengens længde. For eksempel;
# to sort the list by length of the elementsstrings = ['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 hjælp af 'strenge.
Gennemgang af lister
Looping gennem lister kan gøres på samme måde som enhver anden looping-funktion i Python. På denne måde kan en metode udføres på flere elementer på en liste på samme tid. For eksempel:
liste = [10, 20, 30, 40, 50, 60, 70].
For at løbe gennem alle elementerne på denne liste, og lad os sige, tilføj 10 til hvert element:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
At løbe 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 løbe gennem det tredje (indeks 2) til det sidste element på listen og føje 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 eller en metode eller funktion anvendes på medlemmerne af en liste til at udføre en bestemt operation. Du kan enten løbe gennem alle medlemmerne på listen eller gennemgå et undersæt af listen ved hjælp af listeudskæring.
Listeforståelser
Listeforståelser er Python-funktioner, der bruges til at oprette 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øre din kode lettere at læse og vedligeholde.
For eksempel; Lad os sige, at du ønskede at oprette en liste, der indeholder firkanterne for alle numrene fra 1 til 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
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 set ovenfor er det meget kortere at skrive koden ved hjælp af listeforståelser end at bruge traditionelt til sløjfer og er også hurtigere. Dette er blot et eksempel på brug af listeforståelser i stedet for for sløjfer, men dette kan replikeres og bruges mange steder, hvor sløjfer også kan bruges. Nogle gange er det den bedste mulighed at gå med en for-loop, 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
FUNGERE | BESKRIVELSE |
Rund() | Afrunder det nummer, der er sendt som et argument, til et angivet antal cifre og returnerer flydende punktværdien |
Min. () | returnere minimumselement på en given liste |
Maks () | returnere det maksimale element på en given liste |
len () | Returnerer længden af listen |
Tæl () | Denne indbyggede funktion genererer både værdier og indekser for varer i en iterabel, så vi behøver ikke at tælle manuelt |
Filter() | tester, om hvert element på en liste er sandt eller ej |
Lambda | Et udtryk, der kan vises på steder, hvor et def (til oprettelse af funktioner) ikke er syntaktisk, inde i en bogstavelig liste eller en funktions opkaldsargumenter |
Kort() | returnerer en liste over resultaterne efter anvendelse af den givne funktion på hvert emne i en given iterabel |
Ophobe() | anvende en bestemt funktion, der er videregivet i sit argument, til alle listeelementerne returnerer en liste, der indeholder de mellemliggende resultater |
Sum() | Returnerer summen af alle numrene 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. |
Indsæt | Indsæt element for at liste på en bestemt position |
Listemetoder
FUNGERE | BESKRIVELSE |
Tilføj() | Tilføjer et nyt element til slutningen af listen |
Klar() | Fjerner alle emner fra listen |
Kopi() | Returnerer en kopi af den oprindelige liste |
Forlænge() | Tilføj mange elementer i slutningen af listen |
Tælle() | Returnerer antallet af forekomster af et bestemt element på en liste |
Indeks() | Returnerer indekset for et bestemt element på en liste |
Pop () | Sletter element fra listen i et bestemt indeks (slet efter position) |
Fjerne() | Sletter specificeret emne fra listen (slet efter værdi) |
Baglæns() | Inverteringsmetode, der vender rækkefølgen af elementerne på listen |
Resumé
- En liste er nøjagtigt, hvordan det lyder, en container, der indeholder forskellige Python-objekter, som kan 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, der indeholder forskellige typer objekter.
- For at få adgang til værdier inden for lister kan indekset over objekterne inde i listerne bruges.
- Listeskæring er metoden til opdeling af et undersæt af en liste, og indekserne for listeobjekterne bruges også til dette.
- Tre metoder til sletning af listeelementer er: 1) list.remove (), 2) list.pop () og 3) del operator
- Append-metode bruges til at tilføje elementer. Dette tilføjer elementet til slutningen af listen.
- Looping-metoden til Python-programmet kan udføres på flere elementer i en dataliste på samme tid.
- Listeforståelser er Python-funktioner, der bruges til at oprette nye sekvenser (såsom lister, ordbøger osv.) Ved hjælp af sekvenser, der allerede er oprettet.