# Programmeren in Python/Lijsten

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

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
### append

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
Output:
Alternatief:
U kunt ook als alternatief de volgende statement gebruiken names[len(names):] = ["Geert"].

### clear

Doel:
Verwijdert alle elementen uit een lijst.
Parameters:
geen
Voorbeeld:
Python-code: clear
Output:

### copy

Doel:
Deze functie geeft een kopie van de lijst terug.
Parameters:
geen
Voorbeeld:
Python-code: copy
Output:

### count

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
Output:
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

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
Output:
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

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
Output:
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.

### insert

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
Output:
Zoals je ziet is de naam Geert op index 2, dus op de derde plaats in de lijst.

### pop

Doel:
Met pop kun je een element uit de lijst halen, je 'pop' hem er als het ware uit. Als je iets uit de lijst 'pop't dan krijg je het element uit de lijst en daarna wordt deze uit de lijst verwijderd. 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
Output:

### remove

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
Output:
Fouten:
Als het element niet in de lijst bestaat krijg je een ValueError, deze moet opgevangen worden.

### reverse

Doel:
Met reverse wordt de volgorde van de elementen omgedraaid.
Parameters:
geen
Voorbeeld:
Python-code: reverse
Output:

### sort

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
Output:

## Externe Links

Voor meer voorbeelden kun je hier kijken : Python datastructuren