Python-tuples beheersen: Packen, uitpakken, vergelijken, slicen en dictionary-sleutels
Tuple-matching in Python begrijpen
Tuple-matching groepeert tuples door een gespecificeerd element te vergelijken, meestal het tweede. Een veelvoorkomend patroon is het gebruik van een dictionary met het tuple-element als sleutel. Daarnaast kun je nieuwe tuples bouwen uit slices van bestaande.
Tuple-syntaxis basis
Definieer een tuple met komma-gescheiden waarden binnen haakjes:
tup = ('Jan', 'Feb', 'Mar') Lege tuples gebruiken twee lege haakjes: tup1 = ().
Voor een enkele waarde, voeg een trailing comma toe: tup1 = (50,). Indices beginnen bij 0 en tuples ondersteunen concatenatie en slicing.
Tuple-toekenning
Python staat gelijktijdige toekenning van meerdere variabelen toe met behulp van een tuple. Deze techniek is handig voor het uitpakken van gestructureerde data.
Voorbeeld:
tup1 = ('Robert', 'Carlos', '1965', 'Terminator 1995', 'Actor', 'Florida') tup2 = (1, 2, 3, 4, 5, 6, 7) print(tup1[0]) # Robert print(tup2[1:4]) # (2, 3, 4) Packen en uitpakken
"Packen" voegt waarden in een nieuwe tuple in; "uitpakken" haalt ze terug in variabelen.
x = ('Guru99', 20, 'Education') (company, emp, profile) = x print(company) # Guru99 print(emp) # 20 print(profile) # Education Tuples vergelijken
Vergelijkingsoperatoren (<, >, ==, etc.) werken lexicografisch: het eerste verschillende element bepaalt het resultaat.
# Case 1 a = (5, 6) b = (1, 4) if a > b: print('a is groter') else: print('b is groter') Vergelijkbaar voor andere gevallen: als de eerste elementen gelijk zijn, gaat de vergelijking door met het volgende element.
Tuples als dictionary-sleutels gebruiken
Omdat tuples hashable zijn, kunnen ze als dictionary-sleutels dienen, in tegenstelling tot lijsten.
directory = {('last', 'first'): '555-1234'} for last, first in directory: print(first, last, directory[(last, first)]) Dictionary-items kunnen opgehaald worden als een lijst van sleutel-waarde tuples:
a = {'x': 100, 'y': 200} b = list(a.items()) print(b) # [('x', 100), ('y', 200)] Tuples verwijderen
Tuples zijn immutable; je kunt geen individuele elementen verwijderen. Je kunt echter een heel tuple-object verwijderen met de del-statement.
Tuples slicen
Slice-syntaxis werkt voor tuples net zo goed als voor lijsten:
x = ('a', 'b', 'c', 'd', 'e') print(x[2:4]) # ('c', 'd') Ingebouwde functies voor tuples
Tuples werken naadloos met functies zoals all(), any(), enumerate(), max(), min(), sorted(), len(), en tuple().
Voordelen van tuples boven lijsten
- Iteratie over tuples is iets sneller omdat ze immutable zijn.
- Alleen immutable sequences kunnen dictionary-sleutels zijn; tuples passen in die rol.
- Immutable data opslaan in een tuple garandeert dat het niet per ongeluk gewijzigd kan worden.
Korte samenvatting
- Packen en uitpakken staan toe voor schone data-overdracht.
- Tuples kunnen lexicografisch vergeleken worden.
- Gebruik tuples als samengestelde dictionary-sleutels.
- Tuples zijn immutable; gebruik
delom het hele object te verwijderen. - Slicing haalt sub-tuples efficiënt op.
Python
- Python Datatypes onder de knie krijgen: Een praktische gids
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Python Pass Statement onder de knie krijgen: Een praktische gids
- Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
- Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
- Python-iterators: hoe ze werken en hoe je je eigen maakt
- Python-closures uitgelegd: hoe geneste functies variabelen vangen
- Python datetime beheersen: praktische gids voor datums, tijden en tijdzones
- Python-tuples beheersen: Packen, uitpakken, vergelijken, slicen en dictionary-sleutels
- Python-dictionaries: Sleutel/waardeparen toevoegen, bijwerken en beheren
- Python's enumerate() meesteren: lussen met indices voor lijsten, tuples, strings en dictionaries