|
|||||||
Кортежи (tuple)
Время создания: 29.07.2019 23:51
Раздел: Разные закладки - Python - Модули
Запись: xintrea/mytetra_db_adgaver_new/master/base/1533666715j2xa25p02a/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Кортежи (tuple) Сегодня я расскажу о таком типе данных, как кортежи (tuple) и о том, где они применяются. Кортеж, по сути - неизменяемый список . Зачем нужны кортежи, если есть списки?
>>> >>> a = (1, 2, 3, 4, 5, 6) >>> b = [1, 2, 3, 4, 5, 6] >>> a.__sizeof__() 36 >>> b.__sizeof__() 44
>>> >>> d = {(1, 1, 1) : 1} >>> d {(1, 1, 1): 1} >>> d = {[1, 1, 1] : 1} Traceback (most recent call last): File "", line 1, in d = {[1, 1, 1] : 1} TypeError: unhashable type: 'list' С преимуществами кортежей разобрались, теперь встает вопрос - а как с ними работать. Примерно так же, как и со списками. Создаем пустой кортеж: >>> >>> a = tuple() # С помощью встроенной функции tuple() >>> a () >>> a = () # С помощью литерала кортежа >>> a () >>> Создаем кортеж из одного элемента: >>> >>> a = ('s') >>> a 's' Стоп. Получилась строка. Но как же так? Мы же кортеж хотели! Как же нам кортеж получить? >>> >>> a = ('s', ) >>> a ('s',) Ура! Заработало! Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором. Кстати, кортеж можно создать и так: >>> >>> a = 's', >>> a ('s',) Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы. Ну и создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple() >>> >>> a = tuple('hello, world!') >>> a ('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!') Все операции над списками , не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее. Например, гордость программистов на python - поменять местами значения двух переменных: a, b = b, a |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|