Основные структуры данных Python: кортежи

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

Кортеж

Какой структурой данных является кортеж? Кортеж очень похож на список, за исключением того, что значения хранятся в круглых скобках (()), а не в скобках ([]), как мы видели в списках. Пример кортежа показан ниже.

Значения внутри кортежа заключены в круглые скобки. Теперь вот чем отличается кортеж от списка. Кортежи — это неизменяемые структуры данных, что означает, что вы не можете изменять переменную, например добавлять или удалять элементы. Кортеж фиксирован и не может быть изменен. Теперь, если вы хотите добавить элемент в переменную «marvel_heroes», вы можете сделать что-то подобное, но просто знайте, что вы не изменяете существующую переменную. Вместо этого вы создаете ДРУГУЮ переменную «marvel_heroes», которая будет содержать только новый элемент, который вы хотите добавить, а также включает существующие значения из предыдущей переменной «marvel_heroes».

Давайте поговорим о синтаксисе переменной выше. Что происходит, так это то, что новая переменная «marvel_heroes» будет содержать все значения из предыдущей переменной marvel_heroes, а также к ней будет добавлена ​​переменная «Человек-муравей». Когда вы добавляете значение в кортеж, вы должны содержать запятую, чтобы Python знал, что вы добавляете значение в кортеж. Нет метода добавления или удаления, потому что вы не можете изменить существующую переменную кортежа. По сравнению со списком, когда вы добавляете или удаляете элемент, вы изменяете существующий список. Но в кортеже, если вы хотите добавить значение к тем же данным, вам нужно будет создать еще один кортеж, даже если это то же имя, и следовать синтаксису, показанному выше.

Когда вы знаете, что структура данных может быть изменена, используйте список, а не кортеж. Для переменной «marvel_heroes» лучше использовать список, так как могут быть новые участники, которых можно добавить во вселенную Marvel (да, я фанат 😛). Используйте кортеж только в том случае, если вы знаете, что структура данных всегда будет фиксированной и ее никогда не придется изменять.

Пункты выноса:

  1. Кортежи неизменны; они не могут быть изменены
  2. Вы не можете добавить значение к существующему кортежу, но вы можете создать новую переменную, которая может содержать те же значения из существующего кортежа, а затем добавить значение в круглых скобках и добавить запятую после этого значения.
  3. Используйте кортежи только тогда, когда что-то нельзя изменить. Также плохой практикой является создание новых кортежей каждый раз, когда вы хотите добавить новое значение к существующим значениям. Это может привести к пустой трате места, поскольку каждая переменная занимает некоторое место в ОЗУ. Со списком вы только изменяете существующую переменную и не должны создавать новую.