Programmeren in Python/Lijsten

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Een lijst is een functie om data op te slaan in python. Zoals de naam het al zegt wordt het gebruikt om lijsten op te slaan. Zoals lijsten van gebruikersnamen, personen, leeftijden, enz. Het voordeel van een lijst is dat de data heel ordelijk kan worden opgeslagen. Zo kan de lijst bijvoorbeeld gesorteerd worden op alfabet.

Het aanmaken van een lijst in python gebeurt als volgt :

lijst1 = []

In dit geval heeft de lijst de naam "lijst1". De [] tekens geven aan dat het om een lijst gaat. Net zoals je bij een string de "" of tekens gebruikt. Hier is een voorbeeld van een lijst waar namen in staan opgeslagen:

namen = ['Piet', 'Jan', 'Klaas']

In deze lijst staan drie namen opgeslagen. Zoals je ziet bevat deze lijst een aantal strings. Het is ook mogelijk om een lijst te maken met cijfers(integers). Zoals dit :

cijfers = [1, 2, 3, 5, 10, 15]

Het gebruiken van een lijst[bewerken]

Voor het gebruik van lijsten is het belangrijk om te weten dat Python telt vanaf nummer 0. Dit nummer wordt het index nummer genoemd, door dit nummer kun je bepaalde gegevens uit bepaalde plekken uit de lijst halen. Je kunt het een beetje vergelijken met RAM geheugen waarin alle stukjes geheugen een eigen adres hebben, net zoals met woningen. Stel we hebben de volgende lijst :

namen = ['Piet', 'Jan', 'Klaas']

Dan heeft Piet het index nummer 0, Jan heeft het index nummer 1,en Klaas heeft het index nummer 2. Als we bijvoorbeeld de data uit het eerste stukje van de lijst willen hallen kunnen we dit doen door het index nummer 0 te gebruiken, want elk eerste stukje data van een lijst heeft het index nummer 0. Dit kunnen we doen door de volgende code :

print namen[0]

Nu krijgen we als het goed is de naam 'Piet' in beeld, dit komt doordat de naam 'Piet' als eerste in de lijst staat en dus index nummer 0 heeft.


List Methoden[bewerken]

append()[bewerken]

Doel:

Met de methode append() kun je een element toevoegen aan een lijst. De element zal achteraan worden toegevoegd.

Parameters:

Parameter Omschrijving
element (verplicht) Een object die je wilt toevoegen aan een lijst.

Voorbeeld:

Python-code: append()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van append().
names.append("Geert")

#  Nogmaals uitprinten van de namen, zoals u zult zien is Geert toegevoegd aan de lijst.
print(names)

Output:

['Piet', 'Jan', 'Klaas']
['Piet', 'Jan', 'Klaas', 'Geert']

Alternatief:

U kunt ook als alternatief de volgende statement gebruiken names[len(names):] = ["Geert"].

clear()[bewerken]

Doel:

Verwijderd alle elementen uit een lijst.

Parameters:

geen

Voorbeeld:

Python-code: clear()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van clear().
names.clear()

#  Nogmaals uitprinten van de namen, zoals je zult zien zijn er geen namen meer in de lijst.
print(names)

Output:

['Piet', 'Jan', 'Klaas']
[]

copy()[bewerken]

Doel:

Deze functie geeft een kopie van de lijst terug.

Parameters:

geen

Voorbeeld:

Python-code: copy()

#  Een lijst met namen.
first_list_of_names = ['Piet', 'Jan', 'Klaas'] 

#  Voorbeeld van het gebruik van copy() om een tweede lijst te maken.
second_list_of_names = first_list_of_names.copy()

#  Uitprinten van de lijsten met namen, voorlopig bevatten ze nogsteeds dezelfde info.
print(first_list_of_names)
print(second_list_of_names)

#  Toevoegen van een naam aan de tweede lijst.
second_list_of_names.append("Geert")

#  Nogmaals uitprinten van de lijsten met namen, zoals je ziet is er een naam toegevoegd aan de tweede lijst.
print(first_list_of_names)
print(second_list_of_names)

Output:

['Piet', 'Jan', 'Klaas']
['Piet', 'Jan', 'Klaas']
['Piet', 'Jan', 'Klaas']
['Piet', 'Jan', 'Klaas', 'Geert']

count()[bewerken]

Doel:

Met de methode count() kun je tellen hoe vaak hetzelfde element voorkomt in de lijst.

Parameters:

Parameter Omschrijving
waarde (verplicht)

Voorbeeld:

Python-code: count()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas', 'Jan', 'klaas'] 

#  Voorbeelden van het gebruik van count().
how_many_times_jan = names.count("Jan")
how_many_times_klaas = names.count("Klaas")

#  Resultaten van de twee count() voorbeelden.
print(how_many_times_jan)
print(how_many_times_klaas)

Output:

2
1

De namen Jan en Klaas kwamen beiden 2 keer voor in de lijst en toch zegt de output dat Jan twee keer voorkomt en Klaas één keer. Dit komt omdat count() zoekt naar elementen die exact hetzelfde zijn en dus is het ook hoofdlettergevoelig. In de lijst van namen is de tweede 'klaas' met een kleine letter geschreven.

extend()[bewerken]

Doel:

Met extend() kunnen twee lijsten samen worden gevoegd. stel dat wel twee lijsten hebben met namen:

Parameters:

Parameter Omschrijving
iterable (verplicht) Kan een List, Tuple, Set, enz. zijn.

Voorbeeld:

Python-code: extend()

#  Twee lijsten met namen.
first_list_of_names = ['Piet', 'Jan'] 
second_list_of_names = ['Klaas', 'Geert']

#  Uitprinten van de lijsten met namen.
print(first_list_of_names)
print(second_list_of_names)

#  Voorbeeld van het gebruik van extend()
first_list_of_names.extend(second_list_of_names)

#  Nogmaals uitprinten van de lijsten met namen, zoals je ziet zijn de namen van de tweede lijst toegevoegd aan de eerste.
#  De tweede lijst heeft nogsteeds dezelfde elementen.
print(first_list_of_names)
print(second_list_of_names)

Output:

['Piet', 'Jan']
['Klaas', 'Geert']
['Piet', 'Jan', 'Klaas', 'Geert']
['Klaas', 'Geert']

De tweede lijst die ingevoegd is in de eerste lijst behoudt dus zijn oorspronkelijke elementen, als dit niet de bedoeling is moet je ze achter nog leegmaken eventueel met de methode clear().

index()[bewerken]

Doel:

Met index() kun je het index cijfer van een element uit de lijst vinden. Dus de postitie van het element in de lijst.

Parameters:

Parameter Omschrijving
waarde (verplicht) Het element waarvan je het index cijfer wilt weten.

Voorbeeld:

Python-code: index()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van index().
x = names.index("Jan")

#  Uitprinten van de index.
print(x)

Output:

['Piet', 'Jan', 'Klaas']
1

In het voorbeeld wouden we de positie weten van de naam Jan. We kregen als index "1" terug. De posities zijn sequentieel genummerd in lijsten en beginnen van 0. Dus is de "1" de tweede postie in de lijst.

Fouten:

Als het element niet in de lijst bestaat krijg je een ValueError, deze moet opgevangen worden.

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    x = names.index("Geert")
ValueError: 'Geert' is not in list

insert()[bewerken]

Doel:

Met insert() kun je net zoals met de append() een element toevoegen aan een lijst, alleen het verschil is dat je met insert() kan kiezen waar het toegevoegde element komt te staan. En bij de append functie komt het toegevoegde element altijd aan het eind van de lijst.

Parameters:

Parameter Omschrijving
index (verplicht) De positie waar je het element wilt invoegen.
element (verplicht) Het element dat je wilt invoegen in de lijst.

Voorbeeld:

Python-code: insert()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van insert().
names.insert(2, "Geert")

#  Uitprinten van de namen.
print(names)

Output:

['Piet', 'Jan', 'Klaas']
['Piet', 'Jan', 'Geert', 'Klaas']

Zoals je ziet is de naam Geert op index 2, dus op de derde plaats in de lijst.

pop()[bewerken]

Doel:

Met pop() kun je een element uit de lijst halen, je 'pop' hem er als het waren uit. Als je iets uit de lijst pop dan krijg je het element uit de lijst en daarna wordt deze uit de lijst verwijdert. Standaard wordt het laatste element van de lijst eruitgehaald, maar je kunt een indexpositieopgeven om een specifieke element eruit te halen.

Parameters:

Parameter Omschrijving
indexpositie (optioneel)

Voorbeeld:

Python-code: pop()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas']

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van pop().
name = names.pop()

#  Nogmaals uitprinten van de namen en de naam die met pop er uitgehaald is.
print(names)
print(name)

Output:

['Piet', 'Jan', 'Klaas']
['Piet', 'Jan']
Klaas

remove()[bewerken]

Doel:

Met remove() kunnen we een element uit de lijst verwijderen. remove() zal het eerste element dat het tegenkomt in de lijst verwijderen.

Parameters:

Parameter Omschrijving
element (verplicht) Het element dat je wilt verwijderen uit de lijst.

Voorbeeld:

Python-code: remove()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas', 'Jan', 'klaas'] 

#  Voorbeelden van het gebruik van remove().
names.remove("Jan")
names.remove("klaas")

#  Resultaten van de twee remove() voorbeelden.
print(names)

Output:

['Piet', 'Klaas', 'Jan']

Fouten:

Als het element niet in de lijst bestaat krijg je een ValueError, deze moet opgevangen worden.

ValueError: list.remove(x): x not in list

reverse()[bewerken]

Doel:

Met reverse() wordt de volgerde van de elementen omgedraaid.

Parameters:

geen

Voorbeeld:

Python-code: reverse()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas', 'Kees'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van reverse().
names.reverse()

#  Nogmaals uitprinten van de namen, zoals je zult zien zijn de elementen omgedraaid.
print(names)

Output:

['Piet', 'Jan', 'Klaas', 'Kees']
['Kees', 'Klaas', 'Jan', 'Piet']

sort()[bewerken]

Doel:

Met sort() kunnen we de elementen gesorteerd worden. Als de lijst bijvoorbeeld strings bevat worden ze alfabetisch gesorteerd. Het is ook mogelijk om een alternatieve manier om te sorteren op te geven via een functie.

Parameters:

Parameter Omschrijving
reverse (optioneel) Het sorteren omdraaien.
key (optioneel) Een (lambda) functie die een alternatieve manier kan geven om te sorteren.

Voorbeeld:

Python-code: remove()

#  Een lijst met namen.
names = ['Piet', 'Jan', 'Klaas'] 

#  Uitprinten van de namen.
print(names)

#  Voorbeeld van het gebruik van sort().
names.sort()

#  Nogmaals uitprinten van de namen, zoals je zult zien zijn de namen gesorteerd
print(names)

Output:

['Piet', 'Jan', 'Klaas']
['Jan', 'Klaas', 'Piet']

Externe Links[bewerken]

Voor meer voorbeelden kun je hier kijken : Python datastructuren

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.