Изучаем Python. №4. Кортежи


Кортежи создаются один раз и не изменяемы. И являются, по сути, неизменяемыми списками.

Кортеж занимает меньше размер в памяти:

>>> a = (1, 2, 3, 4, 5, 6) # Кортеж
 >>> b = [1, 2, 3, 4, 5, 6] # Список
 >>> a.__sizeof__()
 36
 >>> b.__sizeof__()
 44

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

t = (123,4,15)
>>> print t,(1,2,3)
(123, 4, 15) (1, 2, 3)
>>> t # в итерпритаторе print можно не писать
(123, 4, 15)
>>> u = t,(1,2,3)
>>> print u
((123, 4, 15), (1, 2, 3))

Пустой кортеж:

>>> g = ()
>>> g
()

Положить один элемент в кортеж:

one = 'hi', # можно не ставить скобочки, но поставить запятую
>>> one
('hi',)

Создать кортеж из итерируемого объекта можно с помощью функции tuple():

>>> c = tuple('hello, world!')
>>> c
('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!')

Упаковка и распаковка кортежей в языке Python. Со списками можно сделать точно также:

#Упаковка
>>> upak = (123,554,678)
#Распаковка
>>> a,b,c = upak
>>> a
123
>>> b
554
>>> c
678
>>> 

Над кортежами можно производить все те же операции что и над списками, кроме изменяемых.

Множественное присвоение. Элементов обязательно должно быть столько, сколько в кортеже:

>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, SUNDAY) = range(7)
>>> WEDNESDAY
2
>>> MONDAY
0
>>> SATURDAY
5

Кортеж можно переобразовать в список и наоборот — список в кортеж:

#Переобразование кортежа в список с помощью функции list()
>>> k = (1,2,3)
>>> list(k)
[1, 2, 3]
#Переобразование списка в кортеж с помощью функции tuple()
>>> l = [5,6,7]
>>> tuple(l)
(5, 6, 7)

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

2 идей о “Изучаем Python. №4. Кортежи

    1. Alex

      если считывается строка из базы данных, для оптимизации хранения больших объемов данных кортежи предпочтительней списков

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.