Кортежи (tuple)
Кортеж - это список, который нельзя изменить. Работа с кортежами быстрее, чем со списками. Если вы определяете постоянный набор значений, и все, что вы хотите с ним когда-либо делать, это перебирать его элементы, используйте кортеж вместо списка.Создание кортежа
Пустой кортежt = ()
t1 = 1, 5, 7, # (1, 5, 7) t2 = (1, 5, 7,) # (1, 5, 7) t3 = 1, 5, 7 # (1, 5, 7) t4 = (1, 5, 7) # (1, 5, 7)
a = [1, 5, 7] # a список, а не кортеж t = tuple(a) # сделали из него кортеж (1, 5, 7)
Где я уже использовал кортежи раньше?
Когда печатал по форматуprint("%s рост %d см" % ("Миша", 177)) # кортеж ("Миша", 177)
def min2time(mm): h = (mm//60)%24 m = mm % 60 return h, m # возвратили кортеж (h, m) h0, m0 = min2time(135) # каждому элементу кортежа (h0, m0) присвоили нужный элемент кортежа (2, 15)
Методы
Все общие методыоперация | результат |
---|---|
x in s | элемент х в кортеже s |
x not in s | элемент х НЕ в кортеже s |
s + t | склеили s и t |
s * n или n * s | повторить n раз кортеж s |
s[i] | i-ый элемент, нумерация с 0 |
s[i:j] | часть s от i (включая) до j (не включая) |
s[i:j:k] | часть s от i (включая) до j (не включая) с шагом k |
len(s) | длина s |
min(s) | наименьший элемент s |
max(s) | наибольший элемент s |
s.index(x) | номер первого вхождения х в s |
s.count(x) | сколько раз x входит в s |
Каких методов нет?
Список можно изменять. Кортеж нельзя изменять. Нет методов, которые могут изменять.- append
- extend
- можно сделать новый кортеж a = (1, 2, 3) + (4, 5)
- remove
- pop
- sort
- a = sorted((1, 7, 3, 5)) сделает список a = [1, 3, 5, 7]
-- TatyanaDerbysheva - 20 Mar 2017