Wanneer je in Python lijsten (arrays) en tupels naar elkaar wilt converteren, gebruik je list() en tuple().
Indien iterabele objecten zoals verzamelingstypes, alsook lijsten en tupels als argumenten worden gegeven, worden nieuwe objecten van het type lijst en tuple teruggegeven.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
De volgende lijst-, tuple- en range-type variabelen zijn voorbeelden.
l = [0, 1, 2]
print(l)
print(type(l))
# [0, 1, 2]
# <class 'list'>
t = ('one', 'two', 'three')
print(t)
print(type(t))
# ('one', 'two', 'three')
# <class 'tuple'>
r = range(10)
print(r)
print(type(r))
# range(0, 10)
# <class 'range'>
De range() retourneert een object van het type range sinds Python 3.
Merk op dat hoewel de term “conversie” gemakshalve wordt gebruikt, het nieuwe object in feite wordt gecreëerd, en het oorspronkelijke object intact blijft.
Genereer lijst: list()
Wanneer een iterabel object, zoals een tupel, wordt opgegeven als argument voor list(), wordt een lijst met dat element gegenereerd.
tl = list(t)
print(tl)
print(type(tl))
# ['one', 'two', 'three']
# <class 'list'>
rl = list(r)
print(rl)
print(type(rl))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# <class 'list'>
Genereer tupels: tuple()
Wanneer een iterabel object, zoals een lijst, wordt opgegeven als argument voor tuple(), wordt een tuple met dat element gegenereerd.
lt = tuple(l)
print(lt)
print(type(lt))
# (0, 1, 2)
# <class 'tuple'>
rt = tuple(r)
print(rt)
print(type(rt))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# <class 'tuple'>
Elementen van tupels toevoegen of wijzigen
Tuples zijn onveranderlijk (niet aanpasbaar), dus elementen kunnen niet veranderd of verwijderd worden. Een tuple met gewijzigde of verwijderde elementen kan echter verkregen worden door list() te gebruiken om een lijst te maken, elementen te wijzigen of te verwijderen, en dan opnieuw tuple() te gebruiken.