Python-lijst (met voorbeelden)

In dit artikel zullen we alles leren over Python-lijsten, hoe ze worden gemaakt, een lijst opdelen, er elementen aan toevoegen of verwijderen, enzovoort.

Video: Python-lijsten en Tuples

Python biedt een reeks samengestelde gegevenstypen die vaak sequenties worden genoemd. Lijst is een van de meest gebruikte en zeer veelzijdige gegevenstypen die in Python worden gebruikt.

Hoe maak je een lijst?

In Python-programmering wordt een lijst gemaakt door alle items (elementen) tussen vierkante haken te plaatsen (), gescheiden door komma's.

Het kan een willekeurig aantal items bevatten en ze kunnen van verschillende typen zijn (integer, float, string etc.).

 # empty list my_list = () # list of integers my_list = (1, 2, 3) # list with mixed data types my_list = (1, "Hello", 3.4)

Een lijst kan ook een andere lijst als item hebben. Dit wordt een geneste lijst genoemd.

 # nested list my_list = ("mouse", (8, 4, 6), ('a'))

Hoe toegang krijgen tot elementen uit een lijst?

Er zijn verschillende manieren waarop we toegang kunnen krijgen tot de elementen van een lijst.

Lijst Index

We kunnen de indexoperator gebruiken ()om toegang te krijgen tot een item in een lijst. In Python beginnen indices bij 0. Dus een lijst met 5 elementen heeft een index van 0 tot 4.

Als u probeert toegang te krijgen tot andere indexen dan deze, wordt een IndexError. De index moet een geheel getal zijn. We kunnen geen float of andere typen gebruiken, dit zal resulteren in TypeError.

Geneste lijsten worden geopend met behulp van geneste indexering.

 # List indexing my_list = ('p', 'r', 'o', 'b', 'e') # Output: p print(my_list(0)) # Output: o print(my_list(2)) # Output: e print(my_list(4)) # Nested List n_list = ("Happy", (2, 0, 1, 5)) # Nested indexing print(n_list(0)(1)) print(n_list(1)(3)) # Error! Only integer can be used for indexing print(my_list(4.0))

Uitvoer

 poea 5 Traceback (meest recente oproep laatste): Bestand "", regel 21, in TypeError: lijstindices moeten gehele getallen of segmenten zijn, niet zwevend

Negatieve indexering

Python staat negatieve indexering toe voor zijn sequenties. De index van -1 verwijst naar het laatste item, -2 naar het voorlaatste item enzovoort.

 # Negative indexing in lists my_list = ('p','r','o','b','e') print(my_list(-1)) print(my_list(-5))

Als we het bovenstaande programma draaien, krijgen we de volgende output:

 ep
Lijstindexering in Python

Hoe lijsten in Python te splitsen?

We hebben toegang tot een reeks items in een lijst met behulp van de slicing-operator :(dubbele punt).

 # List slicing in Python my_list = ('p','r','o','g','r','a','m','i','z') # elements 3rd to 5th print(my_list(2:5)) # elements beginning to 4th print(my_list(:-5)) # elements 6th to end print(my_list(5:)) # elements beginning to end print(my_list(:))

Uitvoer

 ('o', 'g', 'r') ('p', 'r', 'o', 'g') ('a', 'm', 'i', 'z') ('p ',' r ',' o ',' g ',' r ',' a ',' m ',' i ',' z ')

Het snijden kan het beste worden gevisualiseerd door te kijken of de index tussen de elementen ligt, zoals hieronder wordt weergegeven. Dus als we toegang willen krijgen tot een bereik, hebben we twee indices nodig die dat gedeelte uit de lijst halen.

Element Slicing uit een lijst in Python

Hoe elementen aan een lijst wijzigen of toevoegen?

Lijsten zijn veranderlijk, wat betekent dat hun elementen kunnen worden gewijzigd in tegenstelling tot string of tuple.

We kunnen de toewijzingsoperator ( =) gebruiken om een ​​item of een reeks items te wijzigen.

 # Correcting mistake values in a list odd = (2, 4, 6, 8) # change the 1st item odd(0) = 1 print(odd) # change 2nd to 4th items odd(1:4) = (3, 5, 7) print(odd) 

Uitvoer

 (1, 4, 6, 8) (1, 3, 5, 7)

We kunnen een item aan een lijst toevoegen met behulp van de append()methode of meerdere items toevoegen met de extend()methode.

 # Appending and Extending lists in Python odd = (1, 3, 5) odd.append(7) print(odd) odd.extend((9, 11, 13)) print(odd)

Uitvoer

 (1, 3, 5, 7) (1, 3, 5, 7, 9, 11, 13)

We kunnen ook de +operator gebruiken om twee lijsten te combineren. Dit wordt ook wel aaneenschakeling genoemd.

De *operator herhaalt een lijst het opgegeven aantal keren.

 # Concatenating and repeating lists odd = (1, 3, 5) print(odd + (9, 7, 5)) print(("re") * 3)

Uitvoer

 (1, 3, 5, 9, 7, 5) ('re', 're', 're')

Bovendien kunnen we één item op een gewenste locatie insert()invoegen met behulp van de methode of meerdere items invoegen door het in een leeg deel van een lijst te persen.

 # Demonstration of list insert() method odd = (1, 9) odd.insert(1,3) print(odd) odd(2:2) = (5, 7) print(odd)

Uitvoer

 (1, 3, 9) (1, 3, 5, 7, 9)

Hoe elementen uit een lijst te verwijderen of te verwijderen?

We kunnen een of meer items uit een lijst verwijderen met behulp van het trefwoord del. Het kan zelfs de lijst volledig verwijderen.

 # Deleting list items my_list = ('p', 'r', 'o', 'b', 'l', 'e', 'm') # delete one item del my_list(2) print(my_list) # delete multiple items del my_list(1:5) print(my_list) # delete entire list del my_list # Error: List not defined print(my_list)

Uitvoer

 ('p', 'r', 'b', 'l', 'e', ​​'m') ('p', 'm') Traceback (meest recente aanroep laatste): Bestand "", regel 18, in NameError: naam 'my_list' is niet gedefinieerd

We kunnen de remove()methode gebruiken om het gegeven item pop()te verwijderen of de methode om een ​​item bij de gegeven index te verwijderen.

The pop() method removes and returns the last item if the index is not provided. This helps us implement lists as stacks (first in, last out data structure).

We can also use the clear() method to empty a list.

 my_list = ('p','r','o','b','l','e','m') my_list.remove('p') # Output: ('r', 'o', 'b', 'l', 'e', 'm') print(my_list) # Output: 'o' print(my_list.pop(1)) # Output: ('r', 'b', 'l', 'e', 'm') print(my_list) # Output: 'm' print(my_list.pop()) # Output: ('r', 'b', 'l', 'e') print(my_list) my_list.clear() # Output: () print(my_list)

Output

 ('r', 'o', 'b', 'l', 'e', 'm') o ('r', 'b', 'l', 'e', 'm') m ('r', 'b', 'l', 'e') ()

Finally, we can also delete items in a list by assigning an empty list to a slice of elements.

 >>> my_list = ('p','r','o','b','l','e','m') >>> my_list(2:3) = () >>> my_list ('p', 'r', 'b', 'l', 'e', 'm') >>> my_list(2:5) = () >>> my_list ('p', 'r', 'm')

Python List Methods

Methods that are available with list objects in Python programming are tabulated below.

They are accessed as list.method(). Some of the methods have already been used above.

Python List Methods
append() - Add an element to the end of the list
extend() - Add all elements of a list to the another list
insert() - Insert an item at the defined index
remove() - Removes an item from the list
pop() - Removes and returns an element at the given index
clear() - Removes all items from the list
index() - Returns the index of the first matched item
count() - Returns the count of the number of items passed as an argument
sort() - Sort items in a list in ascending order
reverse() - Reverse the order of items in the list
copy() - Returns a shallow copy of the list

Some examples of Python list methods:

 # Python list methods my_list = (3, 8, 1, 6, 0, 8, 4) # Output: 1 print(my_list.index(8)) # Output: 2 print(my_list.count(8)) my_list.sort() # Output: (0, 1, 3, 4, 6, 8, 8) print(my_list) my_list.reverse() # Output: (8, 8, 6, 4, 3, 1, 0) print(my_list)

Output

 1 2 (0, 1, 3, 4, 6, 8, 8) (8, 8, 6, 4, 3, 1, 0)

List Comprehension: Elegant way to create new List

List comprehension is an elegant and concise way to create a new list from an existing list in Python.

A list comprehension consists of an expression followed by for statement inside square brackets.

Here is an example to make a list with each item being increasing power of 2.

 pow2 = (2 ** x for x in range(10)) print(pow2)

Output

 (1, 2, 4, 8, 16, 32, 64, 128, 256, 512)

This code is equivalent to:

 pow2 = () for x in range(10): pow2.append(2 ** x)

A list comprehension can optionally contain more for or if statements. An optional if statement can filter out items for the new list. Here are some examples.

 >>> pow2 = (2 ** x for x in range(10) if x> 5) >>> pow2 (64, 128, 256, 512) >>> odd = (x for x in range(20) if x % 2 == 1) >>> odd (1, 3, 5, 7, 9, 11, 13, 15, 17, 19) >>> (x+y for x in ('Python ','C ') for y in ('Language','Programming')) ('Python Language', 'Python Programming', 'C Language', 'C Programming')

Other List Operations in Python

List Membership Test

We can test if an item exists in a list or not, using the keyword in.

 my_list = ('p', 'r', 'o', 'b', 'l', 'e', 'm') # Output: True print('p' in my_list) # Output: False print('a' in my_list) # Output: True print('c' not in my_list)

Output

 True False True

Iterating Through a List

Using a for loop we can iterate through each item in a list.

 for fruit in ('apple','banana','mango'): print("I like",fruit)

Output

 Ik hou van appel Ik hou van banaan Ik hou van mango

Interessante artikelen...