Kun haluat muuntaa listoja (matriiseja) ja tupleja toisiinsa Pythonissa, käytä list()- ja tuple()-toimintoja.
Jos argumentteina annetaan iteroitavia objekteja, kuten joukkotyyppejä, sekä listoja ja tupleja, palautetaan uusia lista- ja tuplatyyppisiä objekteja.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Seuraavat lista-, tuple- ja range-tyyppiset muuttujat ovat esimerkkejä.
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() palauttaa range-tyyppisen objektin Python 3:sta lähtien.
Huomaa, että vaikka termiä ”muuntaminen” käytetään mukavuuden vuoksi, uusi objekti todella luodaan ja alkuperäinen objekti säilyy ennallaan.
Luo luettelo: list()
Kun list()-komentoon annetaan argumenttina iteroitava objekti, kuten tuple, luodaan lista, jossa on kyseinen elementti.
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'>
Tuplien luominen: tuple()
Kun tuple():n argumenttina on iteroitava objekti, kuten lista, luodaan tuple, jossa on kyseinen elementti.
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'>
Tuplien elementtien lisääminen tai muuttaminen
Tuplet ovat muuttumattomia (ei päivitettävissä), joten elementtejä ei voi muuttaa tai poistaa. Tuple, jonka elementtejä on muutettu tai poistettu, voidaan kuitenkin saada käyttämällä list()-ohjelmaa listan muodostamiseen, muuttamalla tai poistamalla elementtejä ja käyttämällä sitten uudelleen tuple()-ohjelmaa.