Ak chcete v jazyku Python navzájom konvertovať zoznamy (polia) a tuply, použite funkcie list() a tuple().
Ak sú ako argumenty zadané iterovateľné objekty, napríklad typy množín, ako aj zoznamy a tuply, vrátia sa nové objekty typov zoznam a tuple.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Nasledujúce premenné typu zoznam, tuple a range sú príkladmi.
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'>
Funkcia range() vracia objekt typu range od Pythonu 3.
Všimnite si, že hoci sa termín „konverzia“ používa z pohodlných dôvodov, v skutočnosti sa vytvára nový objekt a pôvodný objekt zostáva nedotknutý.
Generovanie zoznamu: list()
Ak je ako argument funkcie list() zadaný iterovateľný objekt, napríklad tuple, vygeneruje sa zoznam s týmto prvkom.
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'>
Generovanie tuplov: tuple()
Ak je ako argument funkcie tuple() zadaný iterovateľný objekt, napríklad zoznam, vygeneruje sa tuple s týmto prvkom.
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'>
Pridávanie alebo zmena prvkov tuplov
Tuply sú nemenné (nie aktualizovateľné), takže ich prvky nemožno zmeniť ani vymazať. Tuple so zmenenými alebo odstránenými prvkami však možno získať použitím funkcie list() na vytvorenie zoznamu, zmenou alebo odstránením prvkov a následným opätovným použitím funkcie tuple().