tuple: Кортежи в Python

Содержание
Введение
Пример
Кортеж из списка
Неизменяемость
sorted
collections.namedtuple
Похожие статьи

Введение

Кортеж в Python это:

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

Создать пустой кортеж:

t = tuple() print(t)

()

Кортеж может состоять из одного элемента:

# Это строка s = ("b") print(type(s)) print(s) # Это кортеж t = ("b",) print(type(t)) print(t)

Обратите внимание на запятую

<class 'str'> b <class 'tuple'> ('b',)

Пример

point = (3, 9) print(point) print(point[0]) print(point[1])

(3, 9) 3 9

Элементов, разумеется, может быть болье двух

t_point = (2, 4, 6) print(t_point) for c in t_point: print(c)

(2, 4, 6) 2 4 6

Кортеж из списка:

list_cities = ["benalmadena", "cordoba", "fuengirola", "malaga", "torremolinos"] tuple_cities = tuple(list_cities) print(type(list_cities)) print(type(tuple_cities)) print(tuple_cities)

<class 'list'> <class 'tuple'> ('benalmadena', 'cordoba', 'fuengirola', 'malaga', 'torremolinos')

К объектам в кортеже можно обращаться, как и к объектам списка, по порядковому номеру:

# By index print(tuple_cities[0])

benalmadena

Неизменяемость

Так как кортеж неизменяем, присвоить новое значение нельзя:

tuple_cities[1] = "barcelona"

Traceback (most recent call last): File "tuple_ex.py", line 18, in <module> tuple_cities[1] = "barcelona" TypeError: 'tuple' object does not support item assignment

TypeError можно обработать с помощью except

try: tuple_cities[1] = "barcelona" except TypeError: print("Can't change tuple")

Can't change tuple

sorted()

Функция sorted сортирует элементы кортежа по возрастанию и возвращает новый список с отсортированными элементами:

tuple_cities = ("cordoba", "fuengirola", "malaga", "torremolinos", "benalmadena") sorted_list_cities = sorted(tuple_cities) print(type(sorted_list_cities)) print(sorted_list_cities)

<class 'list'> ['benalmadena', 'cordoba', 'fuengirola', 'malaga', 'torremolinos']

namedtuple

from collections import namedtuple Point = namedtuple("Point", "x y") point = Point(7, 8) print(point.x) print(point[0]) print(point.y) print(point[1])

7 7 8 8

Tpoint = namedtuple("Tpoint", "x y z") t_point = Tpoint(10, 11, 12) print(t_point.x) print(t_point.y) print(t_point.z)

10 11 12

Похожие статьи
Built-in Collections
Строки
f-string
format string
Списки []
list comprehension: Абстракция списка
Словари {:}
dict comprehension: Абстракция словаря
Множества {}
set comprehension: Абстракция множества
Кортежи ()
Протоколы
Итерация
Python
if, elif, else
Циклы

РЕКЛАМА хостинга Beget, которым я пользуюсь более десяти лет

Изображение баннера

Конец рекламы хостинга Beget, который я всем рекомендую.

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: