Кортежи
ски, за исключением того, что не допускают непосредственного изменения (они являются неизменяемыми) и в литеральной форме записываются как последовательность элементов в круглых, а не в квадратных скобках.
Кортежи:
Это упорядоченные коллекции объектов произвольных типов;
Обеспечивают доступ к элементам по смещению;
Относятся к категории неизменяемых последовательностей;
Имеют фиксированную длину, гетерогенны и поддерживают произвольное
число уровней вложенности;
Массивы ссылок на объекты;
Операция - Интерпретация
() - Пустой кортеж
T = (0,) - Кортеж из одного элемента (не выражение)
T = (0, ‘Ni’, 1.2, 3) - Кортеж из четырех элементов
T = 0, ‘Ni’, 1.2, 3 - Еще один кортеж из четырех элементов (тот же самый, что и строкой выше)
T = (‘abc’, (‘def’, ‘ghi’)) - Вложенные кортежи
T = tuple(‘spam’) Создание кортежа из итерируемого объекта
T[i]
T[i][j] - Индекс, индекс индекса, срез, длина
T[i:j]
len(T)
T1 + T2 - Конкатенация, повторение
T * 3
for x in T: print(x)
‘spam’ in t2 - Обход в цикле, проверка вхождения
[x ** 2 for x in T]
T.index(‘Ni’) - Методы кортежей в версиях 2.6 и 3.0: поиск, подсчет вхождений
T.count(‘Ni’)
Кортежи в действии
>>> (1, 2) + (3, 4) # Конкатенация
(1, 2, 3, 4)
>>> (1, 2) * 4 # Повторение
(1, 2, 1, 2, 1, 2, 1, 2)
>>> T = (1, 2, 3, 4) # Индексирование, извлечение среза
>>> T[0], T[1:3]
(1, (2, 3))
>>> x = (40) # Целое число
>>> x
40
>>> y = (40,) # Кортеж, содержащий целое число
>>> y
(40,)
>>> T = (‘cc’, ‘aa’, ‘dd’, ‘bb’)
>>> tmp = list(T) # Создать список из элементов кортежа
>>> tmp.sort() # Отсортировать списка
>>> tmp
[‘aa’, ‘bb’, ‘cc’, ‘dd’]
>>> T = tuple(tmp) # Создать кортеж из элементов списка
>>> T
(‘aa’, ‘bb’, ‘cc’, ‘dd’)
>>> sorted(T) # Или использовать встроенную функцию sorted
[‘aa’, ‘bb’, ‘cc’, ‘dd’]
Здесь list и tuple – это встроенные функции, которые используются для преобразования в список и затем обратно в кортеж. В действи- тельности обе функции создают новые объекты, но благодаря им создается эффект преобразования.
Также можно использовать генераторы списков для преобразования кортежей:
>>> T = (1, 2, 3, 4, 5)
>>> L = [x + 20 for x in T]
>>> L
[21, 22, 23, 24, 25]
>>> T = (1, 2, 3, 2, 4, 2) # Методы кортежей в Python 2.6 и 3.0
>>> T.index(2) # Первое вхождение находится в позиции 2
1
>>> T.index(2, 2) # Следующее вхождение за позицией 2
3
>>> T.count(2) # Определить количество двоек в кортеже
3
Комментариев нет:
Отправить комментарий