Как объединить кортежи в python
Перейти к содержимому

Как объединить кортежи в python

  • автор:

Tuples / Кортежи в Python

Кортежи в Python, как и списки, являются стандартным типом, который может хранить последовательность значений. Это полезно, когда вам нужно передать данные, не изменяя их. Эти данные можно использовать, но исходная структура не будет отражать изменения.

В этом учебнике мы рассмотрим кортежи в Python более подробно.

Кортеж Python

Эта структура данных используется для хранения упорядоченной, неизменяемой последовательности элементов.

Используйте круглые скобки для создания кортежа () . Чтобы создать его, напишите следующее

Обратите внимание, что type() — это встроенная функция, которая проверяет тип данных передаваемых параметров.

Кортеж может содержать как однородные, так и разнородные значения. Однако, как только он объявлен, его нельзя изменить.

Последняя ошибка вызвана попыткой изменить значение в кортеже.

Кортеж может быть создан следующим образом

Кортежи против списков

Как вы видите, кортежи очень похожи на списки. Фактически, это неизменяемые списки. Это означает, что после создания кортежа вы не можете удалить или изменить хранящиеся в нем значения. Вы также не можете добавить новые.

Эта ошибка возникает потому, что невозможно добавить новый элемент к кортежу, но это работает для списков.

Но если он неизменяем, зачем использовать этот тип данных?

Кортежи не только обеспечивают доступ к элементам только для чтения, они также быстрее списков. Рассмотрим следующий код в качестве примера

Какую роль играет инвариантность в случае кортежей?

Согласно официальной документации Python, immutable означает «объект с фиксированным значением», но в случае кортежей «значение» — слишком расплывчатое слово. Лучше использовать id . id определяет местоположение объекта в памяти.

Давайте рассмотрим это более подробно.

Последняя ошибка AttributeError отображается потому, что невозможно добавить элемент в кортеж. Вот почему мы не можем изменить эту структуру данных. Однако вы всегда можете сделать это.

Это позволяет изменять исходные кортежи. В таком случае, куда девается их инвариантность?

Дело в том, что id список в кортеже не меняется, даже несмотря на добавление элемента 5.

Теперь вы знаете, что

Некоторые кортежи являются неизменяемыми (содержат только неизменяемые объекты, например, строки), а некоторые — изменяемыми (содержат изменяемые типы, например, списки). Однако эта тема широко обсуждается среди программистов Python и требует определенных знаний для полного понимания. В общем случае кортежи являются неизменяемыми.

Поэтому если вы планируете осуществлять поиск по фиксированному набору значений, используйте кортеж, а не список. Это быстрее. Они также более безопасны, поскольку защищены от записи.

Если вы хотите узнать больше о списках в Python, обязательно ознакомьтесь с этим учебником.

Стандартные операции с кортежами

В Python существует несколько способов управления кортежами. Давайте рассмотрим несколько примеров для начала.

Срезы

Значением индекса первого элемента кортежа является . Как и в случае со списками, эти значения можно использовать с квадратными скобками. [] для доступа к кортежу.

Можно использовать и отрицательные значения.

В индексах можно извлекать отдельные элементы, а в срезах также доступны подмножества. Для этого необходимо использовать индексный диапазон.

В этом случае Frequency является необязательным параметром со значением по умолчанию 1.

Совет: вы также можете указать отрицательное значение для Frequency, чтобы повернуть кортеж.

Объединение кортежей

Кортежи можно объединять для формирования новых объектов, а операция join объединяет два кортежа

Конкатенация возможна только для определенных типов данных. Поэтому если вы попытаетесь объединить кортеж и список, вы получите ошибку.

Умножение кортежей

Умножение — это операция, которая повторяет кортеж несколько раз.

Функции кортежей

В отличие от списков, кортежи не имеют такого метода, как append() , remove() , extend() , insert() или pop() также из-за их неизменности. Но существуют и другие

count() и len()

count() возвращает количество повторений элемента в кортеже.

len() — это длина кортежа.

Функция any() функция для определения того, является ли элемент кортежа повторяемым. Если это так, то возвращается следующее True .

Запятая ( , ) объявление кортежа a . Если вы не укажете это при создании объекта с одним элементом, Python будет считать, что вы случайно добавили лишнюю пару круглых скобок (что не имеет никакого эффекта), но тип данных не является кортежем. Поэтому важно помнить об использовании запятой при объявлении кортежа с одним элементом.

И снова к функции any . В булевом контексте значение элемента не имеет значения. Для пустого кортежа False для пустого кортежа, и True .

Эта функция вызывается, если кортеж называется ? и мы должны убедиться, что он не пуст.

tuple()

Функция tuple() используется для преобразования данных в кортеж. Например, чтобы преобразовать список в кортеж, вы можете сделать следующее

min() и max()

Функция max() q возвращает наибольший элемент последовательности, в то время как min() — является наименьшим. Следующий пример показывает, как это сделать

Эти функции можно использовать для кортежей, содержащих строки.

Эта функция может быть использована для возврата суммы элементов кортежа. Это работает только с числами.

sorted()

Чтобы получить кортеж с отсортированными элементами, воспользуйтесь функцией sorted() как в следующем примере

Важно отметить, однако, что возвращаемый тип — это список, а не кортеж. В этом случае последовательность в исходном объекте не изменяется, а сам объект остается кортежем.

Присваивание несколько кортежей

Кортежам может быть присвоено более одного значения за один раз. Например.

a — это кортеж, состоящий из трех элементов, и (one, two, three) — кортеж из трех переменных. Задания (one, two, three) в кортеж. a Присваивает каждому значению a переменная, соответственно. one , two и three Один, два, три и так далее в таком порядке. Это полезно, если вы хотите присвоить кортежу определенное количество переменных.

Выводы

Теперь вы понимаете, что такое кортеж, как его создать, каковы наиболее распространенные операции и как ими управлять. Также, как структурировать Python в целом. В качестве дополнительного бонуса вы также узнали, как присваивать различные значения нескольким переменным.

Кортежи (tuple) в Python

Индексирование с отрицательными числами начнется с последнего элемента как -1:

Индексирование ряда элементов

Кортежи неизменны

Одним из основных отличий между list s и tuple с в Python является то , что кортежи являются неизменяемыми, то есть, один не может добавлять или изменять элементы , как только кортеж инициализируются. Например:

Точно так же, кортежи не имеют .append и .extend методы , как list делает. Используя += возможно, но он изменяет связывание переменной, а не сам кортеж:

Будьте осторожны при размещении изменяемых объектов, таких как lists , внутри кортежей. Это может привести к очень запутанным результатам при их изменении. Например:

Будет как поднимать ошибку и изменить содержимое списка в кортеже:

Вы можете использовать += оператору «добавить» в кортеж — это работает, создавая новый кортеж с новым элементом вы «добавленным» и назначить его в текущей переменной; старый кортеж не изменен, но заменен!

Это позволяет избежать преобразования в список и из списка, но это медленный процесс, и это плохая практика, особенно если вы собираетесь добавлять несколько раз.

Кортеж является элементарным измеримым и уравновешенным

Таким образом, кортеж можно поставить внутри set или в качестве ключа в dict только тогда , когда каждый из его элементов может.

Кортеж

Синтаксически, кортеж — это список значений через запятую:

Хотя это и необязательно, обычно заключать кортежи в скобки:

Создайте пустой кортеж с круглыми скобками:

Чтобы создать кортеж с одним элементом, необходимо добавить заключительную запятую:

Обратите внимание, что одно значение в скобках не является кортежем:

Для создания одноэлементного кортежа необходимо использовать завершающую запятую.

Обратите внимание , что для одноэлементных кортежей рекомендуется (см PEP8 на задней запятые ) использовать круглые скобки. Кроме того , ни один белый пробел после запятой ведомой (см PEP8 на пробельных символов )

Другой способ создать кортеж является встроенной функцией tuple .

Эти примеры основаны на материалах из книги Think Python Аллен B. Дауни.

Упаковка и распаковка кортежей

Кортежи в Python — это значения, разделенные запятыми. Заключение круглых скобок для ввода кортежей не является обязательным, поэтому два назначения

эквивалентны. Присваивания a = 1, 2, 3 также называют упаковки , потому что пакеты значения вместе в кортеже.

Обратите внимание, что кортеж с одним значением также является кортежем. Чтобы сообщить Python, что переменная является кортежем, а не единственным значением, вы можете использовать запятую

Запятая нужна также, если вы используете скобки

Для распаковки значений из кортежа и выполнения нескольких назначений используйте

Символ _ может быть использован в качестве одноразового использования имени переменной , если нужно только некоторые элементы кортежа, действуя в качестве заполнителя:

В Python 3 целевой переменной с * префикс может быть использован в качестве вдогонку всех переменных:

first, *more, last = (1, 2, 3, 4, 5)
#first == 1
#more == [2, 3, 4]
#last == 5

Реверсивные элементы

Обратные элементы в кортеже

Или с использованием обратного (обратное дает итерацию, которая преобразуется в кортеж):

Встроенные функции кортежей

Кортежи поддерживают следующие встроенные функции

сравнение

Если элементы одного типа, python выполняет сравнение и возвращает результат. Если элементы разных типов, он проверяет, являются ли они числами.

  • Если числа, проведите сравнение.
  • Если один из элементов является числом, то возвращается другой элемент.
  • В противном случае типы сортируются по алфавиту.

Если мы достигли конца одного из списков, более длинный список будет «больше». Если оба списка одинаковы, возвращается 0.

Кортежи в Python

Еще одной упорядоченной коллекцией объектов в Python являются кортежи, которые практически во всем похожи на списки. Однако в отличие от списков кортежи не могут изменяться непосредственно, поэтому многие операции применимые к спискам, становятся недоступными для кортежей. Кроме того, литералы кортежей записываются не в квадратных, а в круглых скобках. Итак, что же такое кортеж?

(от англ. tuple) – это неизменяемая упорядоченная коллекция объектов произвольного типа. Сами объекты называются , а доступ к ним может быть получен при помощи целочисленного индекса или среза.

Поскольку кортежи очень похожи на списки, дальнейшее изложение материала будет практически полностью дублировать содержание параграфа о списках. Однако пренебрегать чтением и решением задач не стоит, т.к. это хорошая возможность еще раз повторить и закрепить основные понятия, связанные с упорядоченными последовательностями.

Создание кортежей в Python

Проще всего литерал кортежа в Python создается при помощи круглых скобок, внутри которых элементы кортежа перечисляются через запятую (см. пример №1 ). В случае необходимости последний элемент кортежа можно также завершать запятой. Это никак не повлияет на количество элементов кортежа, а значит и его длину. Однако, если кортеж состоит из одного элемента, то запятую после него нужно указывать обязательно, иначе интерпретатор не сможет отличить кортеж от простого значения или выражения.

Пример №1. Создание кортежей в Python (часть 1).

Как видим, внутри кортежей действительно разрешается использовать объекты любого типа данных, создавая при этом любые их комбинации и уровни вложенности. А благодаря наличию в синтаксисе круглых скобок, сложные и объемные литералы кортежей можно без проблем записывать на нескольких строках, придавая исходному коду удобочитаемый вид.

Создать кортеж можно также при помощи встроенного конструктора типа tuple() . Если использовать его без аргумента, то он вернет нам пустой кортеж. Если же передать ему итерируемый объект, например, строку или список, то конструктор вернет кортеж, элементами которого будут соответствующие элементы переданного объекта (см. пример №2 ).

Пример №2. Создание кортежей в Python (часть 2).

Что касается генераторов, то создать кортеж с их помощью не получится, т.к. как генераторы заключенные в круглые скобки сами являются «выражениями генераторами».

Доступ по индексу и срезы кортежей

Операции доступа по индексу и получения срезов для кортежей имеют практически тот же самый синтаксис и смысл, что и для списков (см. пример №3 ).

Пример №3. Доступ к элементам кортежа по индексу (часть 1).

В принципе во многих случаях можно определять кортеж и без использования круглых скобок, т.к. для его определения важно именно наличие запятых между объектами, которые станут элементами кортежа. Однако все зависит от конкретной ситуации. Например, запись вида my_func(x, y) означает, что данной функции должно быть передано два аргумента, а запись my_func((x, y)) означает, что функции должен быть передан кортеж из двух элементов. Так что лучше всегда явно определять кортеж, используя для этого круглые скобки.

Поскольку в результате обращения к элементу кортежа по его индексу возвращается некоторый объект, расположенный по указанному смещению, то для получения доступа к элементам на более глубоком уровне вложенности может потребоваться целая цепочка из нескольких индексов (см. пример №4 ).

Пример №4. Доступ к элементам кортежа по индексу (часть 2).

Следует отметить, что цепочка доступа к конкретному элементу может иметь и более сложную конструкцию, включающую не только квадратные скобки с индексами для доступа к элементам строк, кортежей или списков, но и квадратные скобки с ключами для доступа к элементам словарей, и точки для доступа к атрибутам объектов. Например, для кортежа tpl = (<'one': 'top', 'two': ['abc', [4, 5]]>, 0.3) цепочка получения доступа ко второму элементу вложенного списка [4, 5] будет иметь вид tpl[0][‘two’][1][1] .

Что касается получения срезов для кортежей, то для них справедлив тот же порядок, что и для других упорядоченных коллекций, т.е. строк и списков (см. пример №5 ).

Пример №5. Операция взятия среза у кортежей.

Опять же, при извлечении срезов следует помнить, что нумерация элементов в кортежах начинается с нуля, а элемент с индексом второго предела, указанного в квадратных скобках, не будет присутствовать в срезе. Например, в срезе кортежа tpl_1[0:5] будут присутствовать первые пять элементов с индексами от 0 до 4 , но не включая элемент с индексом 5 .

Как и в случае со строками и списками, один или оба предела среза можно опускать. Если не указывать первый предел, интерпретатор будет начинать срез с первого элемента кортежа (с индексом 0 ), а при отсутствии второго предела срез будет идти до конца кортежа. Если опустить оба предела, мы получим копию кортежа. При необходимости разрешается указывать и третий предел, который будет задавать шаг среза (см. пример №6 ).

Пример №6. Порядок использования шага среза у кортежей.

Как видим, шаг среза также может иметь отрицательное значение (аналогично спискам и строкам). В этом случае отсчет элементов кортежа и шагов ведется в противоположном направлении, а границы среза указываются справа налево, т.е. индекс элемента, стоящего правее в кортеже должен указываться первым. Например, в срезе примера tpl_1[-3:1:-3] отсчет ведется справа налево, начиная с 3 -го элемента, отсчитываемого с конца кортежа, до элемента с индексом 1 , который находится левее и в срез не включается.

Неизменяемость кортежей означает, что для них запрещены операции добавления новых элементов, а также удаления или замены уже существующих. При этом мы спокойно можем изменять конкретные элементы кортежа, если они это допускают (см. пример №7 ).

Пример №7. Изменение элементов кортежей.

Операторы кортежей в Python

Поскольку кортежи относятся к упорядоченным последовательностям, операторы + , += , * и *= имеют для них практически тот же смысл, что и для списков и строк (см. пример №8 ).

Пример №8. Использование операторов + и * применительно к кортежам.

Незабываем, что по обе стороны от оператора сложения должны находиться кортежи (в общем случае это должны быть последовательности одного и того же типа), т.к. интерпретатор не занимается автоматическим приведением типов и просто выдаст ошибку.

Далее. В отношении элементов кортежа мы можем использовать оператор проверки на вхождение in , который совершает поиск требуемого объекта (левый операнд) среди элементов целевого кортежа (правый операнд). Опять же, в случае успеха операция возвращает True , иначе – False (см. пример №9 ).

Пример №9. Использование оператора in применительно к кортежам.

Напомним, что оператор in может использоваться не только самостоятельно, но и совместно с оператором отрицания not , который инверсирует возвращаемое логическое значение оператора in . Соответственно, например, операция ‘крот’ not in (‘кот’, ‘кит’) вернет True вместо False .

Если возникает необходимость в обходе элементов кортежа, то, по аналогии со строками и списками, можно смело использовать оператор цикла for (см. пример №10 ).

Пример №10. Использование цикла for для обхода элементов кортежа.

Поскольку кортежи относятся к неизменяемым последовательностям, оператор удаления del к элементам кортежа неприменим, хотя сам кортеж данный оператор спокойно удаляет.

Функции и методы кортежей в Python

Что касается методов кортежей, то для них применимы общие методы упорядоченных последовательностей, которые не приводят к их изменению. Я насчитал всего два таких метода.

  • tpl.count(x) – возвращает количество элементов с указанным значением x в целевом кортеже tpl (см. пример №11 ). Отметим, что в отличие от аналогичного метода для строк, здесь указывать интервал для поиска нельзя, т.к. метод принимает только один аргумент.
  • tpl.index(x[, start[, end]]) – возвращает индекс i первого вхождения элемента tpl[i] со значением x в целевой кортеж tpl или в срез кортежа tpl[start:end] , если он задан. В случае неудачного поиска метод вызывает исключение ValueError . Обратите внимание, что при использовании среза отсчет индекса элемента все равно стартует с начала всего кортежа.

Пример №11. Методы кортежей.

Применимы к кортежам и некоторые встроенные функции, которые получают доступ к элементам кортежа, но не изменяют его непосредственно: len() (возвращает количество элементов в кортеже), min() (возвращает элемент с минимальным значением, при этом элементы должны быть одного типа с возможностью сравнения), max() (возвращает элемент с максимальным значением, при этом элементы должны быть одного типа с возможностью сравнения), sum() (возвращает сумму элементов кортежа, при этом элементы должны быть числами) и т. д.

Зачем нужны кортежи, если есть списки?

«Ну, и зачем нам эти кортежи, если есть списки?» – часто спрашивают начинающие программисты. Действительно, кортежи копируют списки и при этом сильно ограничены в возможностях, да еще и неизменяемые. Однако ключевая мысль здесь – «неизменяемые». Благодаря этому мы можем быть уверены, что кортеж не будет изменен через другую ссылку в другом месте программы. Кроме того, встречаются ситуации, когда использование списков недопустимо, например, в качестве ключей словаря кортежи можно использовать, а списки нет. Именно поэтому, когда в программе нужно использовать упорядоченные коллекции объектов с возможностью их изменения в будущем, нужно выбирать списки; если же нужны фиксированные коллекции объектов, следует выбирать кортежи.

Хотя сами кортежи и неизменяемы, они могут содержать элементы изменяемых типов (например, списки или словари), а те могут быть изменены программой. Такие кортежи использовать в качестве ключей словаря не получится.

Второй важной особенностью кортежей является то, что за счет неизменяемости, а значит и более простой внутренней структуры, кортежи в общем случае занимают в памяти меньше места, чем списки (см. пример №12 ). Как следствие, операции с кортежами являются более производительными, хотя и не такими гибкими.

Пример №12. Отличие кортежей от списков.

Краткие итоги параграфа

  • В Python кортежи представляют собой упорядоченные, но неизменяемые, коллекции объектов произвольного типа с доступом по индексу.
  • Чтобы создать кортеж достаточно перечислить требуемые объекты (элементы кортежа) через запятую внутри круглых скобок (например, tpl = (3.7, ‘оса’, [1, 2]) ). Здесь стоит не забывать, что если таким образом создается кортеж с одним элементом, после него следует ставить запятую (например, tpl = (7,) ).
  • Также кортежи могут быть созданы при помощи функции tuple(iterable) (например, инструкция tuple(‘abc’) вернет кортеж (‘a’, ‘b’, ‘c’) ).
  • Использовать для создания кортежей генераторы нельзя, т.к. генераторы заключенные в круглые скобки сами являются «выражениями генераторами».
  • После создания кортежа доступ к любому элементу кортежа можно получить по его индексу, т.е. порядковому номеру элемента в кортеже. При этом следует помнить, что индексация элементов в кортежах начинается с нуля (например, инструкция print(tpl[1]) выведет второй элемент последнего кортежа, т.е. строку ‘b’ ).
  • Что касается срезов, то для кортежей они имеют практически тот же смысл, что и для строк и списков. Главное не забывать, что кортежи неизменяемы, и не пытаться использовать срезы для замены, удаления или добавления элементов в кортеж.
  • Арифметические операторы + и * , а также их комбинированные собратья += и *= , работают с кортежами по хорошо известной нам схеме, т.е. практически так же, как со строками и списками.
  • Оператор удаления del в отношении элементов кортежа неприменим. А вот оператор in и цикл for как раз наоборот: первый как всегда совершает поиск требуемого объекта среди элементов целевого кортежа, а второй позволяет поочередно обойти все его элементы.
  • Из методов для кортежей доступны только общие методы упорядоченных последовательностей. Это tpl.count(x) , который подсчитывает количество элементов с указанным значением x , и tpl.index(x[, start[, end]]) , который возвращает индекс i первого вхождения в кортеж элемента tpl[i] со значением x ). Найти эти методы можно в подразделе «Sequence Types – list, tuple, range» раздела «Built-in types» стандартной библиотеки.
  • Благодаря своей неизменяемости кортежи занимают в памяти меньше места, чем списки, а операции с ними являются более производительными. При этом следует помнить, что хотя сами кортежи и неизменяемы, их элементы изменяемых типов (например, списки или словари) могут быть изменены программой (такие кортежи использовать в качестве ключей словаря не получится).

Вопросы и задания для самоконтроля

1. Какие из утверждений относятся к кортежам: коллекция объектов, упорядоченная последовательность, неизменяемая и неупорядоченная последовательность, изменяемая неупорядоченная коллекция объектов, неизменяемая упорядоченная последовательность элементов? Показать решение.

Ответ. Кортежи – это неизменяемые упорядоченные коллекции объектов (последовательности элементов) произвольного типа. Значит по отношению к ним верны утверждения: коллекция объектов, упорядоченная последовательность, неизменяемая упорядоченная последовательность элементов.

2. Разрешается ли использовать в качестве элементов кортежа списки? Показать решение.

Ответ. Кортежи – это неизменяемые упорядоченные коллекции объектов произвольного типа. Значит мы можем использовать в качестве их элементов и списки, и словари и любые другие изменяемые объекты.

3. Для чего нужны кортежи, если есть списки? Показать решение.

Ответ. Кортежи неизменяемы, поэтому они могут использоваться в качестве ключей словаря (пусть и с ограничениями на неизменяемость вложенных элементов), а также хорошо подходят для случаев, когда нужно быть уверенным в целостности данных. Кроме того, кортежи занимают меньше памяти, чем списки, а значит с кортежами производительность операций будет выше.

4. Какие из представленых литералов относятся к типу tuple : (‘tuple’, ‘list’) , ‘(3, 4)’ , (5,) , ‘Питон, Python’ ? Проверьте типы программно. Показать решение.

Ответ. Тип tuple : (‘tuple’, ‘list’) , (5,) .

5. Дан кортеж (([1, 2], [‘012’, ‘abc’]), [4, 3]) . Как получить доступ к символу ‘c’ строки ‘abc’ ? Показать решение.

Ответ. Доступ к элементам вложенных последовательностей вроде списков, строк или кортежей можно получить через последовательную цепочку обращений по индексу.

6. Какие значения будут присвоены переменным в инструкциях tpl_1 = (1, 2, 3, 4, 5, 6, 7)[1:4] , tpl_2 = (1, 2, 3, 4, 5, 6, 7)[-4:-3] и tpl_3 = (1, 2, 3, 4, 5, 6, 7)[::2] ? Проверьте свой ответ программно. Показать решение.

7. Имеется кортеж (1, 2, 3) . В нем необходимо заменить первый элемент и получить кортеж (5, 2, 3) . Как это сделать, ведь кортежи неизменяемы? Показать решение.

Ответ. Да, кортежи относятся к неизменяемым типам данных. Поэтому изменить их непосредственно не получится, но никто не запрещает нам создать новый кортеж с желаемым значением.

8. Что произойдет, если в кортеже (1, [2, 3]) попытаться изменить в списке одно из значений? Объясните свой ответ. Показать решение.

Ответ. Мы не можем изменять сами кортежи, т.е. удалять, добавлять или перемещать его элементы, которые представляют собой объекты произвольного типа. Однако изменять значения элементов кортежа, которые являются объектами изменяемых типов мы можем. Поэтому мы можем свободно изменить любое из значений списка данного кортежа.

9. Что можно сказать про методы с именами count , split , index и clear в контексте кортежей? Показать решение.

Ответ. Кортежи, как и строки, относятся к неизменяемым типам данных. Поэтому у них отсутствуют методы split и clear , которые связаны с изменением кортежей.

10. Дополнительные упражнения и задачи по теме расположены в разделе «Кортежи» нашего сборника задач и упражнений по языку программирования Python .

Кортеж (Tuple) в Python

Кортеж представляет собой совокупность неизменных Python объектов, разделенных запятыми. Кортежи похожи на списки, но мы не можем изменить элементы кортежа, как только они назначены, тогда как в списке элементы могут быть изменены. Основное различие заключается в том, что манипуляции с кортежем быстрее, чем список, поскольку кортежи неизменяемы. Поскольку они неизменяемы, они могут использоваться как ключи для словаря. Кроме того, кортежи используются всякий раз, когда вы хотите вернуть несколько результатов из функции.

Создание кортежа (Tuple) в Python

Кортеж определяется с помощью скобок. Пустой кортеж может быть образован пустой парой круглых скобок.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *