Listák és tuple-ok egymásba konvertálása Pythonban: list(), tuple()

Üzleti

Ha a Pythonban listákat (tömböket) és tuple-okat szeretnénk egymásba konvertálni, használjuk a list() és tuple() parancsokat.

Ha argumentumként iterálható objektumokat, például halmaz típusokat, valamint listákat és tuple-okat adunk meg, akkor list és tuple típusú új objektumokat kapunk vissza.

A következő lista, tuple és range típusú változók példák.

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

A range() a Python 3 óta egy range típusú objektumot ad vissza.

Vegye figyelembe, hogy bár a “konverzió” kifejezést az egyszerűség kedvéért használjuk, valójában az új objektum jön létre, az eredeti objektum pedig érintetlen marad.

Lista létrehozása: list()

Ha egy iterálható objektumot, például egy tuple-t adunk meg a list() argumentumaként, akkor egy listát generálunk az adott elemmel.

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

Tuplik generálása: tuple()

Ha egy iterálható objektumot, például egy listát adunk meg a tuple() argumentumaként, akkor egy tuple generálódik az adott elemmel.

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

Tuplik elemeinek hozzáadása vagy módosítása

A tuplik megváltoztathatatlanok (nem frissíthetők), így az elemek nem módosíthatók vagy törölhetők. Azonban egy olyan tuple-t, amelynek elemei megváltoztak vagy törlődtek, úgy kaphatunk, hogy a list() segítségével listát készítünk, megváltoztatjuk vagy töröljük az elemeket, majd újra a tuple() funkciót használjuk.