Python Lijstbegrip, toevoegen, sorteren, lengte [VOORBEELDEN]

Wat is een Python Lijst?

Een lijst is precies hoe het klinkt: een container die verschillende bevat Python objecten, die gehele getallen, woorden, waarden, etc. kunnen zijn. Het is het equivalent van een array in andere programmeertalen. Het wordt weergegeven door vierkante haken (en dit is een van de kenmerken die het onderscheidt van tupels, die gescheiden worden door haakjes). Het is ook mutable, dat wil zeggen, het kan worden gewijzigd of bijgewerkt; in tegenstelling tot tupels, die onveranderlijk zijn.

Voorbeelden Python lijsten:

Python Lijsten kunnen homogeen zijn, wat betekent dat ze hetzelfde type objecten kunnen bevatten, of heterogeen, wat betekent dat ze verschillende typen objecten kunnen bevatten.

Voorbeelden van homogene lijsten zijn:

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]

Voorbeelden van heterogene lijsten zijn:

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

Toegang tot waarden binnen lijsten

Om toegang te krijgen tot waarden binnen lijsten kan de index van de objecten binnen de lijsten worden gebruikt. Een index-in Python lijsten verwijst naar de positie van een element binnen een geordende lijst. Bijvoorbeeld:

list = [3, 22, 30, 5.3, 20]
  • De eerste waarde in de bovenstaande lijst, 3, heeft een index van 0
  • De tweede waarde, 22, heeft een index van 1
  • De derde waarde, 30, heeft een index van 2

enzovoort. Om toegang te krijgen tot elk van de waarden uit de lijst, gebruikt u:

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

Het laatste lid van een lijst is ook toegankelijk via de index -1. Bijvoorbeeld,

list[-1] = 20

Python Lijst snijden

List-slicing is de methode om een ​​subset van een lijst te splitsen, en hiervoor worden ook de indices van de lijstobjecten gebruikt. Gebruik bijvoorbeeld hetzelfde lijstvoorbeeld hierboven;

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 lijsten zijn exclusief aan de bovengrens, en dit betekent dat de laatste index tijdens het segmenteren van de lijst gewoonlijk wordt genegeerd. Daarom

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

, en niet [30, 5.3, 20]. Hetzelfde geldt voor alle andere hierboven gegeven voorbeelden van lijstsegmentatie.

Lijsten bijwerken

Stel dat u een lijst = [natuurkunde, scheikunde, wiskunde] hebt, en u wilt de lijst wijzigen in [biologie, scheikunde, wiskunde], waarbij u effectief het lid op index 0 wijzigt. Dat kan eenvoudig worden gedaan door die index toe te wijzen aan de nieuw lid dat je wilt.

Dat is,

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

Output: [biologie, scheikunde, wiskunde]

Hierdoor wordt het lid op index 0 (natuurkunde) vervangen door de nieuwe gewenste waarde (chemie). Dit kan worden gedaan voor elk lid of elke subset van de lijst die u wilt wijzigen.

Om nog een voorbeeld te geven: stel dat je een lijst hebt met de naam integers en dat deze de getallen [2, 5, 9, 20, 27] bevat. Om 5 in die lijst te vervangen door 10, kun je dat doen met:

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

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

Om het laatste lid van de lijst met gehele getallen, namelijk 27, te vervangen door een vrij getal zoals 30.5, zou je het volgende gebruiken:

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

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

Lijstelementen verwijderen

Er zijn 3 Python methoden voor het verwijderen van lijstelementen: list.remove(), list.pop() en del operator. De Remove methode neemt het specifieke element dat verwijderd moet worden als argument, terwijl pop en del de index van het element dat verwijderd moet worden als argument nemen. Bijvoorbeeld:

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

Om 3 (het eerste element) uit de lijst te verwijderen, kunt u het volgende gebruiken:

  • list.remove(3) of
  • lijst.pop[0], of
  • van lijst[0]

Om 8, het item op index 3, uit de lijst te verwijderen, kunt u het volgende gebruiken:

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

Lijstelementen toevoegen

Om elementen aan een lijst toe te voegen, wordt de append-methode gebruikt, en deze voegt het element aan het einde van de lijst toe.

Bijvoorbeeld:

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"]

Lijst ingebouwde functies (methoden)

Hieronder vindt u een lijst met ingebouwde functies en methoden met hun beschrijvingen:

  • len(lijst): dit geeft de lengte van de lijst als uitvoer. Bijvoorbeeld:
numbers = [2, 5, 7, 9]
print(len(numbers))
>>> 4
  • maximaal(lijst): retourneert het item in de lijst met de maximale waarde. Bijvoorbeeld:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min(lijst): retourneert het item in de lijst met de minimumwaarde. Bijvoorbeeld:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • lijst(tupel): converteert een tuple-object naar een lijst. Bijvoorbeeld;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
  • lijst.toevoegen(element): voegt het element toe aan de lijst. Bijvoorbeeld;
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • lijst.pop(index): verwijdert het element op de opgegeven index uit de lijst. Bijvoorbeeld;
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • lijst.omgekeerd(): keert de objecten van de lijst om. Bijvoorbeeld;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • lijst.index(element): om de indexwaarde van een element in de lijst te verkrijgen. Bijvoorbeeld;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
  • som(lijst): om de som van alle waarden in de lijst te krijgen, als de waarden allemaal getallen zijn (gehele getallen of decimalen). Bijvoorbeeld;
values = [2, 5, 10]
sum_of_values = sum(values)
print(sum_of_values)

>>> 17

Als de lijst een element bevat dat geen getal is, zoals een tekenreeks, werkt de sommethode niet. Je zou een foutmelding krijgen die zegt: “Typefout: niet-ondersteunde operandtype(s) voor +: 'int' en 'str'”

  • list.sort(): om een ​​lijst met gehele getallen, drijvendekommagetallen of strings in oplopende of aflopende volgorde te rangschikken. Bijvoorbeeld:
values = [1, 7, 9, 3, 5]
# To sort the values in ascending order:
values.sort()
print(values)

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

Nog een voorbeeld:

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

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

Een lijst met tekenreeksen kan ook alfabetisch of op lengte van de tekenreeksen worden gesorteerd. Bijvoorbeeld;

# 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']

We kunnen dezelfde lijst alfabetisch sorteren door 'strings' te gebruiken.

Door lijsten bladeren

Het doorlussen van lijsten kan op precies dezelfde manier worden gedaan als elke andere lusfunctie Python. Op deze manier kan een methode tegelijkertijd op meerdere elementen van een lijst worden uitgevoerd. Bijvoorbeeld:

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

Om alle elementen van deze lijst te doorlopen, bijvoorbeeld, voeg 10 toe aan elk element:

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

Om de eerste drie elementen van de lijst te doorlopen en ze allemaal te verwijderen;

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

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

Om door de 3 te bladerenrd (index 2) naar het laatste element in de lijst en voeg ze toe aan een nieuwe lijst met de naam 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]

Op deze manier kan elke methode of functie worden toegepast op de leden van een lijst om een ​​bepaalde bewerking uit te voeren. U kunt door alle leden van de lijst heen lussen of door een subset van de lijst lussen door list slicing te gebruiken.

Lijst Begrippen Python

Lijstbegrippen zijn Python functies die worden gebruikt voor het maken van nieuwe reeksen (zoals lijsten, woordenboeken, enz.) met behulp van reeksen die al zijn gemaakt. Ze helpen langere lussen te verminderen en maken uw code gemakkelijker te lezen en te onderhouden.

Stel dat u een lijst wilt maken met de kwadraten van alle getallen van 1 tot en met 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]

Om hetzelfde te doen met lijstbegrip:

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]

Zoals hierboven te zien is, is het schrijven van de code met behulp van lijstbegrip veel korter dan het gebruiken van traditionele for-lussen, en ook sneller. Dit is slechts één voorbeeld van het gebruiken van lijstbegrip in plaats van for-lussen, maar dit kan worden gerepliceerd en gebruikt op veel plaatsen waar for-lussen ook kunnen worden gebruikt. Soms is het gebruik van een for-lus de betere optie, vooral als de code complex is, maar in veel gevallen maken lijstbegrippen uw codering gemakkelijker en sneller.

Hieronder vindt u een tabel met enkele lijstfuncties en -methoden, en hun beschrijvingen.

Ingebouwde functies

FUNCTIE PRODUCTBESCHRIJVING
Ronde() Rondt het als argument doorgegeven getal af op een opgegeven aantal cijfers en retourneert de drijvende-kommawaarde
Min() retourneert het minimumelement van een bepaalde lijst
Maximaal() geeft het maximale element van een bepaalde lijst terug
len () Retourneert de lengte van de lijst
Opsommen() Deze ingebouwde functie genereert zowel de waarden als de indexen van items in een iterabele vorm, zodat we niet handmatig hoeven te tellen
Filter() test of elk element van een lijst waar is of niet
Lambda Een expressie die kan verschijnen op plaatsen waar een def (voor het maken van functies) niet syntactisch is, binnen een letterlijke lijst of in de aanroepargumenten van een functie
Kaart() retourneert een lijst met resultaten nadat de gegeven functie op elk item van een gegeven iterabele is toegepast
Accumuleren() een bepaalde functie toepassen die in het argument is doorgegeven op alle lijstelementen, retourneert een lijst met de tussenresultaten
Som() Retourneert de som van alle getallen in de lijst
Cmp() Dit wordt gebruikt voor het vergelijken van twee lijsten en retourneert 1 als de eerste lijst groter is dan de tweede lijst.
Invoegen Voeg element in om op een bepaalde positie weer te geven

Maak een lijst van methoden

FUNCTIE PRODUCTBESCHRIJVING
Toevoegen() Voegt een nieuw item toe aan het einde van de lijst
Duidelijk() Verwijdert alle items uit de lijst
Kopiëren() Retourneert een kopie van de originele lijst
Verlengen() Voeg veel items toe aan het einde van de lijst
Graaf() Retourneert het aantal keren dat een bepaald item in een lijst voorkomt
Inhoudsopgave() Retourneert de index van een specifiek element van een lijst
Knal() Verwijdert item uit de lijst bij een bepaalde index (verwijderen op positie)
Verwijderen() Verwijdert het opgegeven item uit de lijst (verwijderen op waarde)
Reverse() In-place omkeermethode die de volgorde van de elementen van de lijst omkeert

Samenvatting

  • Een lijst is precies hoe het klinkt: een container die verschillende bevat Python objecten, zoals gehele getallen, woorden, waarden, enz.
  • Python Lijsten kunnen homogeen zijn, wat betekent dat ze hetzelfde type objecten kunnen bevatten, of heterogeen, wat betekent dat ze verschillende typen objecten kunnen bevatten.
  • Om toegang te krijgen tot waarden binnen lijsten kan de index van de objecten binnen de lijsten worden gebruikt.
  • List-slicing is de methode om een ​​subset van een lijst te splitsen, en hiervoor worden ook de indices van de lijstobjecten gebruikt.
  • Drie methoden voor het verwijderen van lijstelementen zijn: 1) list.remove(), 2) list.pop() en 3) del-operator
  • De append-methode wordt gebruikt om elementen toe te voegen. Hierdoor wordt het element aan het einde van de lijst toegevoegd.
  • Looping-methode van Python programma kan tegelijkertijd op meerdere elementen van een datalijst worden uitgevoerd.
  • Lijstbegrippen zijn Python functies die worden gebruikt voor het maken van nieuwe reeksen (zoals lijsten, woordenboeken, enz.) met behulp van reeksen die al zijn gemaakt.