Nimekirjade ja tuplite teisendamine üksteiseks Pythonis: list(), tuple()

Äri

Kui soovid Pythonis teisendada loendeid (massiive) ja tupleid üksteiseks, kasuta list() ja tuple().

Kui argumentidena antakse iteratiivsed objektid, näiteks hulkade tüübid, samuti loetelud ja tuplid, tagastatakse uued loetelude ja tuplite tüüpi objektid.

Järgmised loetelu, tupli ja vahemiku tüüpi muutujad on näited.

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

Range() tagastab alates Python 3-st range tüüpi objekti.

Pange tähele, et kuigi terminit “konverteerimine” kasutatakse mugavuse huvides, luuakse tegelikult uus objekt ja algne objekt jääb alles.

Loo nimekiri: list()

Kui list() argumendiks on määratud iterable objekt, näiteks tupel, genereeritakse selle elemendiga nimekiri.

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

Tüüpide genereerimine: tuple()

Kui tuple() argumendiks on esitatud itereeritav objekt, näiteks loend, genereeritakse selle elemendiga tupel.

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

Tuplite elementide lisamine või muutmine

Tuplid on muutumatud (mitte uuendatavad), seega ei saa elemente muuta ega kustutada. Tuple'i, mille elemente on muudetud või kustutatud, saab aga saada, kui kasutada list(), et koostada nimekiri, muuta või kustutada elemente ja seejärel kasutada uuesti tuple().