Vad är en Python List?
En lista är exakt hur det låter, en behållare som innehåller olika Python-objekt, som kan vara heltal, ord, värden etc. Det motsvarar en matris i andra programmeringsspråk. Det representeras av hakparenteser (och detta är en av attributen som skiljer den från tuplar, som är åtskilda av parenteser). Det är också muterbart, det vill säga det kan modifieras eller uppdateras; till skillnad från tuplar, som är oföränderliga.
I den här pythonhandledningen lär du dig:
- Vad är en Python List?
- Exempel på Python-listor:
- Åtkomst till värden i listor
- Lista skivning
- Uppdaterar listor
- Ta bort listelement
- Lägga till listelement
- Lista inbyggda funktioner (metoder)
- Bläddra igenom listor
- Listförståelser
Exempel på Python-listor:
Python-listor kan vara homogena, vilket innebär att de kan innehålla samma typ av objekt; eller heterogena, inklusive olika typer av objekt.
Exempel på homogena listor inkluderar:
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]
Exempel på heterogena listor inkluderar:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Åtkomst till värden i listor
För att komma åt värden i listor kan indexet för objekten i listorna användas. Ett index i Python-listor hänvisar till placeringen av ett element i en ordnad lista. Till exempel:
list = [3, 22, 30, 5.3, 20]
- Det första värdet i listan ovan, 3, har ett index på 0
- Det andra värdet, 22, har ett index på 1
- Det tredje värdet, 30, har ett index på 2
och så vidare. För att komma åt vart och ett av värdena från listan använder du:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Den sista medlemmen i en lista kan också nås med index -1. Till exempel,
list[-1] = 20
Lista skivning
Listavskärning är metoden för att dela upp en delmängd av en lista, och index för listobjekten används också för detta. Till exempel genom att använda samma listexempel ovan;
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-listor är exklusiva för övre gränser, och det betyder att det sista indexet under listavskärning vanligtvis ignoreras. Det är därför
list[2:-1] = [30, 5.3]och inte [30, 5.3, 20]. Detsamma gäller för alla andra exempel på listskivor som ges ovan.
Uppdaterar listor
Låt oss säga att du har en lista = [fysik, kemi, matematik] och att du vill ändra listan till [biologi, kemi, matematik], och effektivt ändra medlemmen i index 0. Det kan enkelt göras genom att tilldela det indexet till ny medlem du vill ha.
Det är,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Output: [biologi, kemi, matematik]
Detta ersätter medlemmen vid index 0 (fysik) med det nya värde du vill ha (kemi). Detta kan göras för alla medlemmar eller delmängder av listan du vill ändra.
För att ge ytterligare ett exempel; låt oss säga att du har en lista som heter heltal och som innehåller siffrorna [2, 5, 9, 20, 27]. För att ersätta 5 i listan med 10 kan du göra det med:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
För att ersätta den sista medlemmen i listan över heltal, som är 27, med ett ledigt nummer som 30,5, skulle du använda:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Ta bort listelement
Det finns tre Python-metoder för att radera listelement: list.remove (), list.pop () och deloperator. Ta bort-metoden tar det specifika elementet som ska tas bort som ett argument medan pop och del tar indexet för elementet som ska tas bort som ett argument. Till exempel:
lista = [3, 5, 7, 8, 9, 20]
För att ta bort 3 (det första elementet) från listan kan du använda:
- list.remove (3) eller
- list.pop [0], eller
- dellista [0]
För att radera 8, artikeln i index 3, från listan kan du använda:
- list.remove (8), eller
- list.pop [3]
Lägga till listelement
För att lägga till element i en lista används tilläggsmetoden och detta lägger till elementet i slutet av listan.
Till exempel:
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"]
Lista inbyggda funktioner (metoder)
Följande är en lista över inbyggda funktioner och metoder med deras beskrivningar:
- len (lista): detta ger längden på listan som utdata. Till exempel:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (lista): returnerar objektet i listan med det maximala värdet. Till exempel:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (lista): returnerar objektet i listan med minimivärdet. Till exempel:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- lista (tuple): konverterar ett tupelobjekt till en lista. Till exempel;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): lägger till elementet i listan. Till exempel;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (index): tar bort elementet vid det angivna indexet från listan. Till exempel;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): tar bort elementet från listan. till exempel;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): reverserar objekten i listan. Till exempel;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): för att få indexvärdet för ett element i listan. Till exempel;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- sum (lista): för att få summan av alla värden i listan, om värdena är alla siffror (heltal eller decimaler). Till exempel;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Om listan innehåller något element som inte är ett tal, till exempel en sträng, fungerar summan inte. Du skulle få ett felmeddelande som säger: " TypeError : operand-typ (er) som inte stöds för +: 'int' och 'str'"
- list.sort (): för att ordna en lista med heltal, flytande nummer eller strängar, i stigande eller fallande ordning. Till exempel:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Ett annat exempel:
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 lista med strängar kan också sorteras, antingen alfabetiskt, eller efter strängarnas längd. Till exempel;
# 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 sortera samma lista alfabetiskt med hjälp av 'strängar'.
Bläddra igenom listor
Looping genom listor kan göras på samma sätt som alla andra looping-funktioner i Python. På detta sätt kan en metod utföras på flera element i en lista samtidigt. Till exempel:
lista = [10, 20, 30, 40, 50, 60, 70].
För att gå igenom alla element i listan, och låt oss säga, lägg till 10 till varje element:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Att bläddra igenom de tre första elementen i listan och ta bort dem alla;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Att slinga igenom det tredje (index 2) till det sista elementet i listan och lägga till dem i en ny lista som heter 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å detta sätt kan någon eller metod eller funktion tillämpas på medlemmarna i en lista för att utföra en viss operation. Du kan antingen slinga igenom alla medlemmar i listan eller slinga igenom en delmängd av listan genom att använda listavskärning.
Listförståelser
Listförståelser är Python-funktioner som används för att skapa nya sekvenser (som listor, ordböcker etc.) med sekvenser som redan har skapats. De hjälper till att minska längre slingor och göra din kod lättare att läsa och underhålla.
Till exempel; låt oss säga att du ville skapa en lista som innehåller rutorna för alla siffror från 1 till 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]
Att göra samma sak med listförstå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 framgår ovan är det mycket kortare att skriva koden med hjälp av listförståelser än att använda traditionellt för loopar och är också snabbare. Detta är bara ett exempel på att använda listförståelser istället för för loopar, men detta kan replikeras och användas på många ställen där för loopar också kan användas. Ibland är det bättre alternativet att gå med en for loop, speciellt om koden är komplex, men i många fall kommer listförståelser att göra din kodning enklare och snabbare.
Nedan finns en tabell som innehåller några listfunktioner och metoder och deras beskrivningar.
Inbyggda funktioner
FUNGERA | BESKRIVNING |
Runda() | Avrundar numret som skickats som ett argument till ett angivet antal siffror och returnerar flytpunkten |
Min () | returnera minimielementet i en viss lista |
Max () | returnera maximalt element i en viss lista |
len () | Returnerar listans längd |
Räkna upp() | Den här inbyggda funktionen genererar både värden och index för artiklar i en iterabel, så vi behöver inte räkna manuellt |
Filtrera() | testar om varje element i en lista är sant eller inte |
Lambda | Ett uttryck som kan visas på platser där ett def (för att skapa funktioner) inte är syntaktiskt, i en bokstavlig lista eller en funktions samtalsargument |
Karta() | returnerar en lista över resultaten efter att den givna funktionen har tillämpats på varje objekt i en given iterabel |
Ackumulera() | tillämpa en viss funktion som skickats i sitt argument på alla listelementen returnerar en lista som innehåller de mellanliggande resultaten |
Belopp() | Returnerar summan av alla siffror i listan |
Cmp () | Detta används för att jämföra två listor och returnerar 1 om den första listan är större än den andra listan. |
Föra in | Infoga element för att lista på en viss position |
Listmetoder
FUNGERA | BESKRIVNING |
Bifoga() | Lägger till ett nytt objekt i slutet av listan |
Klar() | Tar bort alla objekt från listan |
Kopiera() | Returnerar en kopia av originallistan |
Förlänga() | Lägg till många objekt i slutet av listan |
Räkna() | Returnerar antalet förekomster av ett visst objekt i en lista |
Index() | Returnerar indexet för ett visst element i en lista |
Pop() | Tar bort objekt från listan vid ett visst index (radera efter position) |
Ta bort() | Raderar angivet objekt från listan (radera efter värde) |
Omvänd() | Inverteringsmetod på plats som vänder ordningen på elementen i listan |
Sammanfattning
- En lista är exakt hur det låter, en behållare som innehåller olika Python-objekt, som kan vara heltal, ord, värden etc.
- Python-listor kan vara homogena, vilket innebär att de kan innehålla samma typ av objekt; eller heterogen, som innehåller olika typer av objekt.
- För att komma åt värden i listor kan indexet för objekten i listorna användas.
- Listavskärning är metoden för att dela upp en delmängd av en lista, och index för listobjekten används också för detta.
- Tre metoder för att radera listelement är: 1) list.remove (), 2) list.pop () och 3) deloperator
- Append-metoden används för att lägga till element. Detta lägger till elementet i slutet av listan.
- Looping-metoden för Python-programmet kan utföras på flera element i en datalista samtidigt.
- Listförståelser är Python-funktioner som används för att skapa nya sekvenser (som listor, ordböcker etc.) med sekvenser som redan har skapats.