Module (60%)
Section (8%)

Типы последовательностей и изменяемость

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

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

Поскольку цикл for - это инструмент, специально разработанный для итерации по последовательностям, мы можем выразить определение как: последовательность - это данные, по которым можно итерироваться с помощью цикла for.

Пока что Вы встретили одну последовательность Python - список. Список представляет собой классический пример последовательности Python, хотя есть некоторые другие последовательности, о которых стоит упомянуть, и мы собираемся представить их Вам сейчас.


Второе понятие - изменяемость - это свойство любых данных Python, которое описывает их готовность к произвольному изменению во время выполнения программы. Есть два типа данных Python: изменяемые и неизменяемые.

Изменяемые данные могут быть свободно изменены в любое время - мы называем такую операцию операцией in situ.

In situ - это латинская фраза, которая буквально переводится как на месте. Например, следующая инструкция изменяет данные in situ:

list.append(1)

Неизменяемые данные нельзя изменить таким образом .

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

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

Тип данных, о котором мы хотим Вам рассказать, - это кортеж. Кортеж - это неизменяемый тип последовательности. Он может вести себя как список, но не может быть изменен in situ.


Что такое кортеж?

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

Посмотрите на пример:

tuple_1 = (1, 2, 4, 8) tuple_2 = 1., .5, .25, .125

Есть два кортежа, каждый из которых содержит четыре элемента.

Давайте выведем их:

tuple_1 = (1, 2, 4, 8) tuple_2 = 1., .5, .25, .125 print(tuple_1) print(tuple_2)

Вот что вы должны увидеть в консоли:

(1, 2, 4, 8) (1.0, 0.5, 0.25, 0.125)

output


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

Как создать кортеж?

Возможно создание пустого кортежа - тогда скобки обязательны:

empty_tuple = ()

Если вы хотите создать одноэлементный кортеж, Вы должны принять во внимание тот факт, что по причинам синтаксиса (кортеж должен отличаться от обычного одиночного значения) Вы должны закончить кортеж запятой:

one_element_tuple_1 = (1, ) one_element_tuple_2 = 1.,

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