Преобразование списков и кортежей друг в друга в Python: list(), tuple()

Бизнес

Когда вы хотите преобразовать списки (массивы) и кортежи друг в друга в Python, используйте list() и tuple().

Если в качестве аргументов указаны итерируемые объекты, такие как типы set, а также списки и кортежи, возвращаются новые объекты типов list и tuple.

Ниже приведены примеры переменных типа list, tuple и 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'>

С Python 3 функция range() возвращает объект типа range.

Обратите внимание, что хотя термин «преобразование» используется для удобства, на самом деле создается новый объект, а исходный объект остается нетронутым.

Создать список: 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().

Copied title and URL