Python Кортежи

Python Кортежи — полезная конструкция языка Python.

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

Лично я воспринимаю кортежи, как неизменяемые хранилища списков.

Кортежи

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

Создать кортеж можно следующими способами:
- с помощью функции tuple ( [<Последовательность>]). Функция позволяет преобразовать любую последовательность в кортеж. Если параметр не указан, то создается пустой кортеж. Пример:
>>> tuple () # Создаём nустой кортеж
()

>>> tuple ( «String») # Преобразуем строку в кортеж ·
(‘S’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’)
>>> tuple([1, 2, 3, 4, 5]) # Преобразуем список в кортеж
(1, 2, 3, 4, 5)

+ указав все элементы через запятую внутри круглых скобок (или без скобок):
>>> t1 = () # Создаём nустой кортеж
>>> t2 = (5,) # Создаём кортеж из одного элемента
>>> t3 = (1, «str», (3, 4)) # Кортеж из трёх элементов
>>> t4 = 1, «str», (3, 4) # Кортеж из трёх элементов
>>> t1, t2, t3, t4
((), (5,), (1, ‘str’, (3, 4)), (1, ‘str’, (3, 4)))

Обратите особое внимание на вторую строку примера. Чтобы создать кортеж из одного элемента, необходимо в конце указать запятую. Именно запятые формируют кортеж, а не круглые скобки. Если внутри круглых скобок нет запятых, то будет создан объект другого типа. Пример:
>>> t = (5); type(t) # Получили число, а не кортеж!
<class ‘int’>
>>> t = («str»); type(t) #Получили строку, а не кортеж!
<class ‘str’>

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

Позиция элемента в кортеже задаётся индексом. Обратите внимание на то, что нумерация элементов кортежа (как и списка) начинается с 0, а не с 1.

Как и все последовательности, кортежи поддерживают обращение к элементу по индексу, получение среза, конкатенацию (оператор +), повторение (оператор *), проверку на вхождение (оператор in). Пример:
>>> t = (1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> t [0] # Получаем значение первого элемента кортежа
1
>>> t [: :-1] # Изменяем порядок следования элементов
(9, 8, 7, 6, 5, 4, 3, 2, 1)
>>> t[2:5] # Получаем срез (3, 4, 5)
>>> 8 in t, 0 in t # Проверка на вхождение
(True, False)
>>> ( 1, 2, 3) * 3 # Повторение
( 1, 2, 3, 1, 2, 3, 1, 2,, 3)
>>> (1, 2, 3) + (4, 5, 6) # Конкатенация
( 1, 2, 3, 4, 5, 6)

Кортежи относятся к неизменяемым типам данных.

Иными словами, можно получить элемент по индексу, но изменить его нельзя:
>>> t = (1, 2, 3) # Создаём кортеж
>>> t[0] # Получаем элемент no индексу
1
>>> t [0] = 50 # Изменить элемент no индексу нельзя!
Traceback (most recent саll last) :
File «<pyshe11#95>», line 1, in <module>
t[0] =50 # Изменить элемент no индексу нельзя!
TypeError: ‘tuple’ object does not support item assignment

Получить количество элементов кортежа позволяет функция len ():
>>> t = (1, 2, 3) # Создаём кортеж
>>> len(t) # Получаем количество элементов
3

Начиная с Python 2.6, кортежи поддерживают два метода:

- index (<Значение> [, <Начало> [, <Конец>]] ) — возвращает индекс элемента, имеющего указанное значение. Если значение не входит в кортеж, возбуждается исключение Va1ueError. Если второй и третий параметры не указаны, то поиск будет производиться с начала кортежа. Пример:
>>> t = (1, 2, 1, 2, 1)
>>> t.index(1), t.index(2)
(0, 1)
>>> t.index(l, 1), t.index(l, 3, 5)
(2, 4)
>>> t.index(3)
Фрагмент опущен ValueError: tuple.index(x): x not in tuple

- count (<Значение>) — возвращает количество элементов с указанным значением. Если элемент не входит в кортеж, то возвращается значение 0. Пример:
>>> t = (1, 2, 1, 2, 1)
>>> t.count(l), t.count(2) (3, 2)
>>> t.count (3) # Элемент не входит в кортеж
0

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

Способы применения кортежей ещё предстоит освоить.

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

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Python КортежиПродолжение тут…

Deviz_9

Один комментарий: Python Кортежи

  1. Александр говорит:

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

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.