Якщо ви хочете перетворити списки (масиви) і кортежи один в одного в Python, використовуйте list() і tuple().
Якщо ітераційні об’єкти, такі як типи наборів, а також списки та кортежи, надаються як аргументи, повертаються нові об’єкти типів list і tuple.
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
Наведені нижче змінні типу списку, кортежу та діапазону є прикладами.
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'>
Rang() повертає об’єкт типу range, починаючи з Python 3.
Зауважте, що хоча термін «перетворення» використовується для зручності, новий об’єкт фактично створюється, а вихідний об’єкт залишається недоторканим.
Сформувати список:list()
Коли ітераційний об’єкт, наприклад кортеж, вказано як аргумент для list(), створюється список з цим елементом.
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'>
Створення кортежів:tuple()
Коли ітераційний об’єкт, наприклад список, вказано як аргумент для tuple(), генерується кортеж із цим елементом.
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'>
Додавати або змінювати елементи кортежів
Кортежи незмінні (не оновлюються), тому елементи не можна змінювати або видаляти. Однак кортеж із зміненими чи видаленими елементами можна отримати, використовуючи list() для створення списку, змінюючи або видаляючи елементи, а потім знову використовуючи tuple().