Begrijpen van Python-lijsten, toevoegen, sorteren, lengte [VOORBEELDEN]

Wat is een Python-lijst?

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

Voorbeelden van Python-lijsten:

Python-lijsten kunnen homogeen zijnneoons, wat betekent dat ze hetzelfde type objecten kunnen bevatten; of heterogeenneoons, inclusief verschillende soorten objecten.

Voorbeelden van homogeenneoons lijsten omvatten:

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 heterogeenneoons lijsten omvatten:

[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 meestal wordt genegeerd. Dat is de reden

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 u een lijst heeft met de naam gehele getallen en die 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 moet worden verwijderd als argument, terwijl pop en del de index van het te verwijderen element 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)

De following is 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, getallen met drijvende komma of tekenreeksen 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]

Een ander 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 in 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 alle leden van de lijst doorlopen, of een subset van de lijst doorlopen met behulp van lijstsegmentatie.

Lijstbegrippen 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.

Bijvoorbeeld; Stel dat u een lijst wilt maken die de squ bevatares 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 lijstbegrippen veel korter dan het gebruik van traditionele for-loops, en ook sneller. Dit is slechts één voorbeeld van het gebruik van lijstbegrippen 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 de betere optie om met een for-lus te werken, vooral als de code com isplex, maar in veel gevallen zal het begrijpen van de lijst uw codering eenvoudiger en sneller maken.

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)
Achteruit() In-place omkeermethode die de volgorde van de elementen van de lijst omkeert

Samengevat

  • Een lijst is precies hoe het klinkt: een container die verschillende Python-objecten bevat, zoals gehele getallen, woorden, waarden, enz.
  • Python lijsten kunnen homogeen zijnneoons, betekent dat ze hetzelfde type objecten kunnen bevatten; of heterogeenneoons, met daarin verschillende soorten objecten.
  • 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.
  • De looping-methode van het 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.