Konwersja list i krotek na siebie w Pythonie: list(), tuple()

Biznes

Gdy chcesz konwertować listy (tablice) i krotki na siebie w Pythonie, użyj funkcji list() i tuple().

Jeśli jako argumenty zostaną podane obiekty iterowalne, takie jak typy set oraz listy i krotki, zwracane są nowe obiekty typu lista i krotka.

Poniżej przedstawiono przykłady zmiennych typu lista, tuple i range.

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

Od czasu Pythona 3 funkcja range() zwraca obiekt typu range.

Należy zauważyć, że chociaż termin „konwersja” jest używany dla wygody, w rzeczywistości tworzony jest nowy obiekt, a oryginalny obiekt pozostaje nienaruszony.

Wygeneruj listę: list()

Gdy jako argument funkcji list() podany jest obiekt iterowalny, taki jak tuple, generowana jest lista zawierająca ten element.

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

Generowanie krotek: tuple()

Gdy jako argument funkcji tuple() podany jest obiekt iterowalny, taki jak lista, generowana jest krotka z tym elementem.

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

Dodawanie lub zmiana elementów krotek

Tuple są niezmienne (nieaktualizowalne), więc ich elementów nie można zmieniać ani usuwać. Jednak tuple z elementami zmienionymi lub usuniętymi można uzyskać przez użycie funkcji list() do utworzenia listy, zmianę lub usunięcie elementów, a następnie ponowne użycie funkcji tuple().