Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python-lijstbewerkingen: aanmaken, benaderen, wijzigen en geavanceerde technieken

Python-lijstbewerkingen

Python-lijsten zijn een van de meest veelzijdige datastructuren in de taal, waarmee je efficiënt reeksen waarden kunt opslaan, organiseren en manipuleren. Deze gids behandelt alles wat je moet weten – van het aanmaken en benaderen van lijstelementen tot geavanceerde technieken zoals slicing, comprehensions en ingebouwde methoden.

Video: Python-lijsten en tuples

Python-lijsten laten je met meerdere items tegelijk werken. Bijvoorbeeld:

# een lijst met programmeertalen
['Python', 'C++', 'JavaScript']

Python-lijsten aanmaken

Een lijst wordt aangemaakt door elementen tussen vierkante haakjes [] te plaatsen, gescheiden door komma's. Lijsten kunnen elk aantal items bevatten en ondersteunen gemengde datatypes.

# lijst van integers
my_list = [1, 2, 3]

Voorbeelden:

# lege lijst
my_list = []
# gemengde datatypes
my_list = [1, "Hallo", 3.4]

Een lijst kan ook een andere lijst bevatten, wat een geneste structuur creëert.

# geneste lijst
my_list = ["muis", [8, 4, 6], ["a"]]

Lijstelementen benaderen

Python biedt verschillende manieren om items te benaderen.

Indexeren

Gebruik de []-operator. Indices beginnen bij 0; het benaderen van een index buiten bereik geeft een IndexError, terwijl niet-integer indices een TypeError geven.

my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0])  # p
print(my_list[2])  # o
print(my_list[4])  # e
n_list = ["Happy", [2, 0, 1, 5]]
print(n_list[0][1])  # a
print(n_list[1][3])  # 5
print(my_list[4.0])  # TypeError

Uitvoer

p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float

Negatief indexeren

Negatieve indices tellen vanaf het einde van de lijst: -1 is het laatste element, -2 het voorlaatste, enz.

my_list = ['p','r','o','b','e']
print(my_list[-1])  # e
print(my_list[-5])  # p

Uitvoer

e p
Python-lijstbewerkingen: aanmaken, benaderen, wijzigen en geavanceerde technieken

Lijst-slicing

Slicing haalt een bereik items op met de dubbele punt operator :. De start-index is inclusief; de eind-index is exclusief.

my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5])  # ['o', 'g', 'r']
print(my_list[5:])   # ['a', 'm', 'i', 'z']
print(my_list[:])    # volledige lijst

Uitvoer

['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']

Let op: Slicing retourneert een nieuwe lijst; de origineel blijft ongewijzigd.


Lijstelementen wijzigen

Lijsten zijn mutable. Je kunt enkele items of slices vervangen.

odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)

Uitvoer

[1, 4, 6, 8] [1, 3, 5, 7]

Voeg elementen toe met append() (één) of extend() (meerdere). Gebruik + voor concatenatie en * voor herhaling.

odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["her"] * 3)

Uitvoer

[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['her', 'her', 'her']

Voeg elementen in op een specifieke index met insert() of door toe te wijzen aan een lege slice.

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]

Lijstelementen verwijderen

Gebruik del om items op index of slice te verwijderen, of de hele lijst. remove() verwijdert de eerste matchende waarde, pop() verwijdert en retourneert een element op index (of het laatste element als geen index gegeven). clear() leegt de lijst.

my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# verwijder één item
del my_list[2]
print(my_list)
# verwijder meerdere items
del my_list[1:5]
print(my_list)
# verwijder de hele lijst
del my_list
print(my_list)  # NameError

Uitvoer

['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined

Alternatieve verwijdering via slice-toewijzing:

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

Algemene lijstmethoden

MethodeBeschrijving
append()Voegt een element aan het einde toe
extend()Voegt alle elementen uit een ander iterable toe
insert()Voegt een item in op een opgegeven index
remove()Verwijdert de eerste voorkomens van een waarde
pop()Verwijdert en retourneert een element op index (of laatste)
clear()Leegt de lijst
index()Retourneert de eerste index van een waarde
count()Telt voorkomens van een waarde
sort()Sorteert de lijst in oplopende volgorde
reverse()Keert de lijstvolgorde om
copy()Retourneert een shallow copy
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8))  # 1
print(my_list.count(8))  # 3

Lijst-comprehension

Lijst-comprehensions bieden een beknopte manier om lijsten te genereren.

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

Uitvoer

[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

Equivalent aan:

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

Comprehensions mogen meerdere for-clauses of een if-filter bevatten.

>>> 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 ['Taal','Programmeren']]
['Python Taal', 'Python Programmeren', 'C Taal', 'C Programmeren']

Meer info in de officiële Python-documentatie.


Aanvullende lijstbewerkingen

Lidmaatschapstest

Controleer of een waarde bestaat met in of not in.

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

Uitvoer

True False True

Itereren door een lijst

Gebruik een for-lus om elk item te verwerken.

for fruit in ['appel','banaan','mango']:
    print("Ik hou van", fruit)

Uitvoer

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

Python

  1. Python Datatypes onder de knie krijgen: Een praktische gids
  2. Python Operators onder de knie krijgen: Een uitgebreide gids
  3. Python Pass Statement onder de knie krijgen: Een praktische gids
  4. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  5. Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden
  6. Python Lijsten Onder de Loep: Append, Sort, Lengte & List Comprehensions (Praktische Gids)
  7. Gemiddeldes Berekenen in Python: Een Praktische Gids
  8. Python list.count(): Expert Gids met Praktische Voorbeelden
  9. Dubbele Elementen Verwijderen uit een Python Lijst
  10. Items Verwijderen uit een Python Lijst: remove(), pop(), clear() en del
  11. Python List index() – Elementposities Vinden met Praktische Voorbeelden