Руководство по использованию кортежей в Python

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

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

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

Давайте посмотрим, что такое кортеж и как его написать/использовать.

Что такое кортеж и как он работает?

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

Например, вместо указания ваших переменных следующим образом:

state1 = 'Virginia'
state2 = 'Hawaii'
state3 = 'New Mexico'
state4 = 'California'

Затем вы можете распечатать следующий список переменных:

print(state1, state2, state3, state4)

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

states = ['Virginia', 'Hawaii', 'New Mexico', 'California']

Затем список может быть напечатан следующим образом:

print(states[0], states[1], states[2], states{3])

При использовании списков значительно проще эффективно определять эквивалентные переменные.

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

names = [‘Bobby’, ‘Sam’, ‘Betty’, ‘John’] 

Кортежи форматируются следующим образом:

names = (‘Bobby’, ‘Sam’, ‘Betty’, ‘John’)

В чем разница между кортежем и списком, кроме очевидного использования [] vs ()? Проще говоря, вы можете изменить элементы списка (после того, как они были назначены), но вы не можете сделать это с кортежем.

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

Пожалуйста, подождите несколько секунд. О каком именно словаре вы говорите? В том смысле, что это набор данных, словарь Python сравним со списком. Словари — это версия ассоциативных массивов Python, и они используют пары ключ-значение следующим образом.

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

alist = ['Harry', 'David', 'Bryan', 'Shep', 'Eric'] # list
sys.getsizeof(l)
96 bytes of memory
alist = ('Harry', 'David', 'Bryan', 'Shep', 'Eric') # tuple
sys.getsizeof(l)
80 bytes of memory

Тем не менее, используя %%timeit, мы можем увидеть существенную разницу в выполнении этих двух циклов, с почти 25% улучшением для кортежей.

List Example
198 ns ± 1.69 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Tuple Example
151 ns ± 2.85 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

Это было краткое введение в кортежи. Исследуйте их.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.