[{"data":1,"prerenderedAt":1252},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fpython\u002Fst12":386,"\u002Fblog\u002Fpython\u002Fst12-surround":1247},[4],{"title":5,"path":6,"stem":7,"children":8,"page":114},"Blog","\u002Fblog","blog",[9,115,184,329],{"title":10,"path":11,"stem":12,"children":13,"page":114},"Ege","\u002Fblog\u002Fege","blog\u002Fege",[14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110],{"title":15,"path":16,"stem":17},"ЕГЭ Задание 1","\u002Fblog\u002Fege\u002Ftask1","blog\u002Fege\u002Ftask1",{"title":19,"path":20,"stem":21},"ЕГЭ Задание 10","\u002Fblog\u002Fege\u002Ftask10","blog\u002Fege\u002Ftask10",{"title":23,"path":24,"stem":25},"ЕГЭ Задание 11","\u002Fblog\u002Fege\u002Ftask11","blog\u002Fege\u002Ftask11",{"title":27,"path":28,"stem":29},"ЕГЭ Задание 12","\u002Fblog\u002Fege\u002Ftask12","blog\u002Fege\u002Ftask12",{"title":31,"path":32,"stem":33},"ЕГЭ Задание 13","\u002Fblog\u002Fege\u002Ftask13","blog\u002Fege\u002Ftask13",{"title":35,"path":36,"stem":37},"ЕГЭ Задание 14","\u002Fblog\u002Fege\u002Ftask14","blog\u002Fege\u002Ftask14",{"title":39,"path":40,"stem":41},"ЕГЭ Задание 15","\u002Fblog\u002Fege\u002Ftask15","blog\u002Fege\u002Ftask15",{"title":43,"path":44,"stem":45},"ЕГЭ Задание 16","\u002Fblog\u002Fege\u002Ftask16","blog\u002Fege\u002Ftask16",{"title":47,"path":48,"stem":49},"ЕГЭ Задание 17","\u002Fblog\u002Fege\u002Ftask17","blog\u002Fege\u002Ftask17",{"title":51,"path":52,"stem":53},"ЕГЭ Задание 18","\u002Fblog\u002Fege\u002Ftask18","blog\u002Fege\u002Ftask18",{"title":55,"path":56,"stem":57},"ЕГЭ Задание 19, 20, 21","\u002Fblog\u002Fege\u002Ftask19_20_21","blog\u002Fege\u002Ftask19_20_21",{"title":59,"path":60,"stem":61},"ЕГЭ Задание 2","\u002Fblog\u002Fege\u002Ftask2","blog\u002Fege\u002Ftask2",{"title":63,"path":64,"stem":65},"ЕГЭ Задание 22","\u002Fblog\u002Fege\u002Ftask22","blog\u002Fege\u002Ftask22",{"title":67,"path":68,"stem":69},"ЕГЭ Задание 23","\u002Fblog\u002Fege\u002Ftask23","blog\u002Fege\u002Ftask23",{"title":71,"path":72,"stem":73},"ЕГЭ Задание 24","\u002Fblog\u002Fege\u002Ftask24","blog\u002Fege\u002Ftask24",{"title":75,"path":76,"stem":77},"ЕГЭ Задание 25","\u002Fblog\u002Fege\u002Ftask25","blog\u002Fege\u002Ftask25",{"title":79,"path":80,"stem":81},"ЕГЭ Задание 26","\u002Fblog\u002Fege\u002Ftask26","blog\u002Fege\u002Ftask26",{"title":83,"path":84,"stem":85},"ЕГЭ Задание 27","\u002Fblog\u002Fege\u002Ftask27","blog\u002Fege\u002Ftask27",{"title":87,"path":88,"stem":89},"ЕГЭ Задание 3","\u002Fblog\u002Fege\u002Ftask3","blog\u002Fege\u002Ftask3",{"title":91,"path":92,"stem":93},"ЕГЭ Задание 4","\u002Fblog\u002Fege\u002Ftask4","blog\u002Fege\u002Ftask4",{"title":95,"path":96,"stem":97},"ЕГЭ Задание 5","\u002Fblog\u002Fege\u002Ftask5","blog\u002Fege\u002Ftask5",{"title":99,"path":100,"stem":101},"ЕГЭ Задание 6","\u002Fblog\u002Fege\u002Ftask6","blog\u002Fege\u002Ftask6",{"title":103,"path":104,"stem":105},"ЕГЭ Задание 7","\u002Fblog\u002Fege\u002Ftask7","blog\u002Fege\u002Ftask7",{"title":107,"path":108,"stem":109},"ЕГЭ Задание 8","\u002Fblog\u002Fege\u002Ftask8","blog\u002Fege\u002Ftask8",{"title":111,"path":112,"stem":113},"ЕГЭ Задание 9","\u002Fblog\u002Fege\u002Ftask9","blog\u002Fege\u002Ftask9",false,{"title":116,"path":117,"stem":118,"children":119,"page":114},"Oge","\u002Fblog\u002Foge","blog\u002Foge",[120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180],{"title":121,"path":122,"stem":123},"ОГЭ Задание 1","\u002Fblog\u002Foge\u002Ftask1","blog\u002Foge\u002Ftask1",{"title":125,"path":126,"stem":127},"ОГЭ Задание 10","\u002Fblog\u002Foge\u002Ftask10","blog\u002Foge\u002Ftask10",{"title":129,"path":130,"stem":131},"ОГЭ Задание 11","\u002Fblog\u002Foge\u002Ftask11","blog\u002Foge\u002Ftask11",{"title":133,"path":134,"stem":135},"ОГЭ Задание 12","\u002Fblog\u002Foge\u002Ftask12","blog\u002Foge\u002Ftask12",{"title":137,"path":138,"stem":139},"ОГЭ Задание 13","\u002Fblog\u002Foge\u002Ftask13","blog\u002Foge\u002Ftask13",{"title":141,"path":142,"stem":143},"ОГЭ Задание 14","\u002Fblog\u002Foge\u002Ftask14","blog\u002Foge\u002Ftask14",{"title":145,"path":146,"stem":147},"ОГЭ Задание 15","\u002Fblog\u002Foge\u002Ftask15","blog\u002Foge\u002Ftask15",{"title":149,"path":150,"stem":151},"ОГЭ Задание 16","\u002Fblog\u002Foge\u002Ftask16","blog\u002Foge\u002Ftask16",{"title":153,"path":154,"stem":155},"ОГЭ Задание 2","\u002Fblog\u002Foge\u002Ftask2","blog\u002Foge\u002Ftask2",{"title":157,"path":158,"stem":159},"ОГЭ Задание 3","\u002Fblog\u002Foge\u002Ftask3","blog\u002Foge\u002Ftask3",{"title":161,"path":162,"stem":163},"ОГЭ Задание 4","\u002Fblog\u002Foge\u002Ftask4","blog\u002Foge\u002Ftask4",{"title":165,"path":166,"stem":167},"ОГЭ Задание 5","\u002Fblog\u002Foge\u002Ftask5","blog\u002Foge\u002Ftask5",{"title":169,"path":170,"stem":171},"ОГЭ Задание 6","\u002Fblog\u002Foge\u002Ftask6","blog\u002Foge\u002Ftask6",{"title":173,"path":174,"stem":175},"ОГЭ Задание 7","\u002Fblog\u002Foge\u002Ftask7","blog\u002Foge\u002Ftask7",{"title":177,"path":178,"stem":179},"ОГЭ Задание 8","\u002Fblog\u002Foge\u002Ftask8","blog\u002Foge\u002Ftask8",{"title":181,"path":182,"stem":183},"ОГЭ Задание 9","\u002Fblog\u002Foge\u002Ftask9","blog\u002Foge\u002Ftask9",{"title":185,"path":186,"stem":187,"children":188,"page":114},"Python","\u002Fblog\u002Fpython","blog\u002Fpython",[189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325],{"title":190,"path":191,"stem":192},"Знакомство с синтаксисом","\u002Fblog\u002Fpython\u002Fst1","blog\u002Fpython\u002Fst1",{"title":194,"path":195,"stem":196},"Отладка","\u002Fblog\u002Fpython\u002Fst10","blog\u002Fpython\u002Fst10",{"title":198,"path":199,"stem":200},"Модули и пакеты","\u002Fblog\u002Fpython\u002Fst11","blog\u002Fpython\u002Fst11",{"title":202,"path":203,"stem":204},"Кортежи","\u002Fblog\u002Fpython\u002Fst12","blog\u002Fpython\u002Fst12",{"title":206,"path":207,"stem":208},"Знакомство со списками","\u002Fblog\u002Fpython\u002Fst13","blog\u002Fpython\u002Fst13",{"title":210,"path":211,"stem":212},"Списки и циклы","\u002Fblog\u002Fpython\u002Fst14","blog\u002Fpython\u002Fst14",{"title":214,"path":215,"stem":216},"Использование списков ч.1","\u002Fblog\u002Fpython\u002Fst15","blog\u002Fpython\u002Fst15",{"title":218,"path":219,"stem":220},"Использование списков ч.2","\u002Fblog\u002Fpython\u002Fst16","blog\u002Fpython\u002Fst16",{"title":222,"path":223,"stem":224},"Использование списков ч.3","\u002Fblog\u002Fpython\u002Fst17","blog\u002Fpython\u002Fst17",{"title":226,"path":227,"stem":228},"Словари","\u002Fblog\u002Fpython\u002Fst18","blog\u002Fpython\u002Fst18",{"title":230,"path":231,"stem":232},"Множества","\u002Fblog\u002Fpython\u002Fst19","blog\u002Fpython\u002Fst19",{"title":234,"path":235,"stem":236},"Переменные","\u002Fblog\u002Fpython\u002Fst2","blog\u002Fpython\u002Fst2",{"title":238,"path":239,"stem":240},"Хеш-таблицы","\u002Fblog\u002Fpython\u002Fst20","blog\u002Fpython\u002Fst20",{"title":242,"path":243,"stem":244},"Решето Эратосфена","\u002Fblog\u002Fpython\u002Fst21","blog\u002Fpython\u002Fst21",{"title":246,"path":247,"stem":248},"Длинная арифметика","\u002Fblog\u002Fpython\u002Fst22","blog\u002Fpython\u002Fst22",{"title":250,"path":251,"stem":252},"Декораторы функций","\u002Fblog\u002Fpython\u002Fst23","blog\u002Fpython\u002Fst23",{"title":254,"path":255,"stem":256},"Знакомство с алгоритмами","\u002Fblog\u002Fpython\u002Fst24","blog\u002Fpython\u002Fst24",{"title":258,"path":259,"stem":260},"Бинарный поиск – примеры задач","\u002Fblog\u002Fpython\u002Fst25","blog\u002Fpython\u002Fst25",{"title":262,"path":263,"stem":264},"Сортировка выбором","\u002Fblog\u002Fpython\u002Fst26","blog\u002Fpython\u002Fst26",{"title":266,"path":267,"stem":268},"Рекурсия и стек","\u002Fblog\u002Fpython\u002Fst27","blog\u002Fpython\u002Fst27",{"title":270,"path":271,"stem":272},"Быстрая сортировка","\u002Fblog\u002Fpython\u002Fst28","blog\u002Fpython\u002Fst28",{"title":274,"path":275,"stem":276},"Поиск в ширину","\u002Fblog\u002Fpython\u002Fst29","blog\u002Fpython\u002Fst29",{"title":278,"path":279,"stem":280},"Работа со строками","\u002Fblog\u002Fpython\u002Fst3","blog\u002Fpython\u002Fst3",{"title":282,"path":283,"stem":284},"Поиск в глубину","\u002Fblog\u002Fpython\u002Fst30","blog\u002Fpython\u002Fst30",{"title":286,"path":287,"stem":288},"Сбалансированные деревья","\u002Fblog\u002Fpython\u002Fst31","blog\u002Fpython\u002Fst31",{"title":290,"path":291,"stem":292},"Алгоритм Дейкстры","\u002Fblog\u002Fpython\u002Fst32","blog\u002Fpython\u002Fst32",{"title":294,"path":295,"stem":296},"Жадные алгоритмы","\u002Fblog\u002Fpython\u002Fst33","blog\u002Fpython\u002Fst33",{"title":298,"path":299,"stem":300},"Динамическое программирование","\u002Fblog\u002Fpython\u002Fst34","blog\u002Fpython\u002Fst34",{"title":302,"path":303,"stem":304},"Алгоритм k ближайших соседей","\u002Fblog\u002Fpython\u002Fst35","blog\u002Fpython\u002Fst35",{"title":306,"path":307,"stem":308},"Типы данных","\u002Fblog\u002Fpython\u002Fst4","blog\u002Fpython\u002Fst4",{"title":310,"path":311,"stem":312},"О функциях","\u002Fblog\u002Fpython\u002Fst5","blog\u002Fpython\u002Fst5",{"title":314,"path":315,"stem":316},"Свойства и методы","\u002Fblog\u002Fpython\u002Fst6","blog\u002Fpython\u002Fst6",{"title":318,"path":319,"stem":320},"Определение функций","\u002Fblog\u002Fpython\u002Fst7","blog\u002Fpython\u002Fst7",{"title":322,"path":323,"stem":324},"Логика","\u002Fblog\u002Fpython\u002Fst8","blog\u002Fpython\u002Fst8",{"title":326,"path":327,"stem":328},"Циклы","\u002Fblog\u002Fpython\u002Fst9","blog\u002Fpython\u002Fst9",{"title":330,"path":331,"stem":332,"children":333,"page":114},"Toi","\u002Fblog\u002Ftoi","blog\u002Ftoi",[334,338,342,346,350,354,358,362,366,370,374,378,382],{"title":335,"path":336,"stem":337},"Информация и информационные процессы","\u002Fblog\u002Ftoi\u002Fst1","blog\u002Ftoi\u002Fst1",{"title":339,"path":340,"stem":341},"Электронные таблицы","\u002Fblog\u002Ftoi\u002Fst10","blog\u002Ftoi\u002Fst10",{"title":343,"path":344,"stem":345},"Система, её свойства и компоненты. Моделирование","\u002Fblog\u002Ftoi\u002Fst11","blog\u002Ftoi\u002Fst11",{"title":347,"path":348,"stem":349},"Представление информации в компьютере","\u002Fblog\u002Ftoi\u002Fst12","blog\u002Ftoi\u002Fst12",{"title":351,"path":352,"stem":353},"Средства информационно-коммуникационных технологий. Файловая система","\u002Fblog\u002Ftoi\u002Fst13","blog\u002Ftoi\u002Fst13",{"title":355,"path":356,"stem":357},"Комбинаторика","\u002Fblog\u002Ftoi\u002Fst2","blog\u002Ftoi\u002Fst2",{"title":359,"path":360,"stem":361},"Адресация в интернете","\u002Fblog\u002Ftoi\u002Fst3","blog\u002Ftoi\u002Fst3",{"title":363,"path":364,"stem":365},"Измерение количества информации","\u002Fblog\u002Ftoi\u002Fst4","blog\u002Ftoi\u002Fst4",{"title":367,"path":368,"stem":369},"Системы счисления","\u002Fblog\u002Ftoi\u002Fst5","blog\u002Ftoi\u002Fst5",{"title":371,"path":372,"stem":373},"Диаграммы Эйлера — Венна","\u002Fblog\u002Ftoi\u002Fst6","blog\u002Ftoi\u002Fst6",{"title":375,"path":376,"stem":377},"Условие Фано","\u002Fblog\u002Ftoi\u002Fst7","blog\u002Ftoi\u002Fst7",{"title":379,"path":380,"stem":381},"Теория графов","\u002Fblog\u002Ftoi\u002Fst8","blog\u002Ftoi\u002Fst8",{"title":383,"path":384,"stem":385},"Алгебра логики","\u002Fblog\u002Ftoi\u002Fst9","blog\u002Ftoi\u002Fst9",{"id":387,"title":202,"author":388,"body":393,"date":1238,"description":1239,"extension":1240,"image":1241,"meta":1242,"minRead":1243,"navigation":744,"num":1244,"path":203,"seo":1245,"stem":204,"__hash__":1246},"python\u002Fblog\u002Fpython\u002Fst12.md",{"name":389,"avatar":390},"Штана Альберт Игоревич",{"src":391,"alt":392},"me.jpg","@ashtana",{"type":394,"value":395,"toc":1226},"minimark",[396,400,404,409,416,538,541,564,567,589,592,612,616,623,678,682,685,764,769,772,816,819,887,891,894,939,942,965,968,994,1001,1005,1008,1055,1058,1107,1111,1114,1208,1219,1222],[397,398,202],"h2",{"id":399},"кортежи",[401,402,403],"p",{},"До этого момента мы встречались со строками, числами, булевыми значениями.\nВсе это — простые типы данных, то есть они не включают в себя данные других типов.\nНо часто в программировании приходится работать с несколькими типами данных одновременно.\nИменно поэтому во многих языках программирования есть составные типы — они могут включать в себя данные других типов.\nСоставные типы позволяют описывать сущности произвольной сложности, поэтому приносят много пользы.\nВ этой статье познакомимся с кортежем — одним из составных типов данных в Python.",[405,406,408],"h3",{"id":407},"что-такое-кортеж","Что такое кортеж",[401,410,411,415],{},[412,413,414],"strong",{},"Кортеж (tuple)"," — это несколько значений, записанных через запятую. Вот несколько примеров:",[417,418,423],"pre",{"className":419,"code":420,"language":421,"meta":422,"style":422},"language-python shiki shiki-themes github-light","rgb_colour = (255, 127, 64)\nname_and_age = ('Alex', 42)\nthree_booleans = (True, False, True)\ntwo_pairs_of_numbers = ((1, 2), (3, 4))\n","python","",[424,425,426,460,481,505],"code",{"__ignoreMap":422},[427,428,431,435,439,442,446,449,452,454,457],"span",{"class":429,"line":430},"line",1,[427,432,434],{"class":433},"sgsFI","rgb_colour ",[427,436,438],{"class":437},"sD7c4","=",[427,440,441],{"class":433}," (",[427,443,445],{"class":444},"sYu0t","255",[427,447,448],{"class":433},", ",[427,450,451],{"class":444},"127",[427,453,448],{"class":433},[427,455,456],{"class":444},"64",[427,458,459],{"class":433},")\n",[427,461,463,466,468,470,474,476,479],{"class":429,"line":462},2,[427,464,465],{"class":433},"name_and_age ",[427,467,438],{"class":437},[427,469,441],{"class":433},[427,471,473],{"class":472},"sYBdl","'Alex'",[427,475,448],{"class":433},[427,477,478],{"class":444},"42",[427,480,459],{"class":433},[427,482,484,487,489,491,494,496,499,501,503],{"class":429,"line":483},3,[427,485,486],{"class":433},"three_booleans ",[427,488,438],{"class":437},[427,490,441],{"class":433},[427,492,493],{"class":444},"True",[427,495,448],{"class":433},[427,497,498],{"class":444},"False",[427,500,448],{"class":433},[427,502,493],{"class":444},[427,504,459],{"class":433},[427,506,508,511,513,516,519,521,524,527,530,532,535],{"class":429,"line":507},4,[427,509,510],{"class":433},"two_pairs_of_numbers ",[427,512,438],{"class":437},[427,514,515],{"class":433}," ((",[427,517,518],{"class":444},"1",[427,520,448],{"class":433},[427,522,523],{"class":444},"2",[427,525,526],{"class":433},"), (",[427,528,529],{"class":444},"3",[427,531,448],{"class":433},[427,533,534],{"class":444},"4",[427,536,537],{"class":433},"))\n",[401,539,540],{},"При этом кортеж может состоять всего из одного элемента:",[417,542,544],{"className":419,"code":543,"language":421,"meta":422,"style":422},"my_tuple = (42,)  # Ставим запятую, чтобы указать на кортеж\n",[424,545,546],{"__ignoreMap":422},[427,547,548,551,553,555,557,560],{"class":429,"line":430},[427,549,550],{"class":433},"my_tuple ",[427,552,438],{"class":437},[427,554,441],{"class":433},[427,556,478],{"class":444},[427,558,559],{"class":433},",)  ",[427,561,563],{"class":562},"sAwPA","# Ставим запятую, чтобы указать на кортеж\n",[401,565,566],{},"Обратите внимание на запятую — ее нужно ставить даже после единственного элемента кортежа.\nА теперь посмотрим на пример без запятой.\nВ этом случае Python подумает, что мы хотим вычислить значение арифметического выражения со скобками:",[417,568,570],{"className":419,"code":569,"language":421,"meta":422,"style":422},"not_a_tuple = (42)  # Запятой нет, поэтому Python не считает это кортежем\n",[424,571,572],{"__ignoreMap":422},[427,573,574,577,579,581,583,586],{"class":429,"line":430},[427,575,576],{"class":433},"not_a_tuple ",[427,578,438],{"class":437},[427,580,441],{"class":433},[427,582,478],{"class":444},[427,584,585],{"class":433},")  ",[427,587,588],{"class":562},"# Запятой нет, поэтому Python не считает это кортежем\n",[401,590,591],{},"Такая запись кортежа тоже допускается, скобки указывать не обязательно:",[417,593,595],{"className":419,"code":594,"language":421,"meta":422,"style":422},"also_tuple = 1, 2\n",[424,596,597],{"__ignoreMap":422},[427,598,599,602,604,607,609],{"class":429,"line":430},[427,600,601],{"class":433},"also_tuple ",[427,603,438],{"class":437},[427,605,606],{"class":444}," 1",[427,608,448],{"class":433},[427,610,611],{"class":444},"2\n",[405,613,615],{"id":614},"как-изменить-кортеж","Как изменить кортеж",[401,617,618,619,622],{},"Одна из особенностей кортежей в том, что это неизменяемый тип данных — то есть ",[412,620,621],{},"изменить кортеж после создания нельзя",".\nЧтобы добавить новое значение, нужно создать новый кортеж.\nПри попытке изменить кортеж мы получим такую ошибку:",[417,624,626],{"className":419,"code":625,"language":421,"meta":422,"style":422},"name_and_age = ('Alex', 42)\nname_and_age[0] = 'Ben'\n# Traceback (most recent call last)\n# TypeError: 'tuple' object does not support item assignment\nname_and_age # ('Alex', 42)\n",[424,627,628,644,660,665,670],{"__ignoreMap":422},[427,629,630,632,634,636,638,640,642],{"class":429,"line":430},[427,631,465],{"class":433},[427,633,438],{"class":437},[427,635,441],{"class":433},[427,637,473],{"class":472},[427,639,448],{"class":433},[427,641,478],{"class":444},[427,643,459],{"class":433},[427,645,646,649,652,655,657],{"class":429,"line":462},[427,647,648],{"class":433},"name_and_age[",[427,650,651],{"class":444},"0",[427,653,654],{"class":433},"] ",[427,656,438],{"class":437},[427,658,659],{"class":472}," 'Ben'\n",[427,661,662],{"class":429,"line":483},[427,663,664],{"class":562},"# Traceback (most recent call last)\n",[427,666,667],{"class":429,"line":507},[427,668,669],{"class":562},"# TypeError: 'tuple' object does not support item assignment\n",[427,671,673,675],{"class":429,"line":672},5,[427,674,465],{"class":433},[427,676,677],{"class":562},"# ('Alex', 42)\n",[405,679,681],{"id":680},"как-работать-с-кортежами","Как работать с кортежами",[401,683,684],{},"Кортежи полезны, когда нужно вернуть сразу несколько значений.\nВозьмем для примера функцию, которая возвращает два значения одновременно: результат деления нацело и остаток от деления.\nВ коде это выглядит так:",[417,686,688],{"className":419,"code":687,"language":421,"meta":422,"style":422},"def div_mod(a, b):\n    quotient = a \u002F\u002F b\n    modulo = a % b\n    return (quotient, modulo)\n\ndiv_mod(13, 4)  # (3, 1)\n",[424,689,690,702,718,732,740,746],{"__ignoreMap":422},[427,691,692,695,699],{"class":429,"line":430},[427,693,694],{"class":437},"def",[427,696,698],{"class":697},"s7eDp"," div_mod",[427,700,701],{"class":433},"(a, b):\n",[427,703,704,707,709,712,715],{"class":429,"line":462},[427,705,706],{"class":433},"    quotient ",[427,708,438],{"class":437},[427,710,711],{"class":433}," a ",[427,713,714],{"class":437},"\u002F\u002F",[427,716,717],{"class":433}," b\n",[427,719,720,723,725,727,730],{"class":429,"line":483},[427,721,722],{"class":433},"    modulo ",[427,724,438],{"class":437},[427,726,711],{"class":433},[427,728,729],{"class":437},"%",[427,731,717],{"class":433},[427,733,734,737],{"class":429,"line":507},[427,735,736],{"class":437},"    return",[427,738,739],{"class":433}," (quotient, modulo)\n",[427,741,742],{"class":429,"line":672},[427,743,745],{"emptyLinePlaceholder":744},true,"\n",[427,747,749,752,755,757,759,761],{"class":429,"line":748},6,[427,750,751],{"class":433},"div_mod(",[427,753,754],{"class":444},"13",[427,756,448],{"class":433},[427,758,534],{"class":444},[427,760,585],{"class":433},[427,762,763],{"class":562},"# (3, 1)\n",[765,766,768],"h4",{"id":767},"как-извлекать-значения-из-кортежа","Как извлекать значения из кортежа",[401,770,771],{},"Выше мы научились создавать кортежи, а теперь попробуем извлекать значения из них.\nДля этого достаточно обратиться к элементу кортежа по индексу:",[417,773,775],{"className":419,"code":774,"language":421,"meta":422,"style":422},"name_and_age = ('Alex', 42)\nname_and_age[0]  # 'Alex'\nname_and_age[1]  # 42\n",[424,776,777,793,805],{"__ignoreMap":422},[427,778,779,781,783,785,787,789,791],{"class":429,"line":430},[427,780,465],{"class":433},[427,782,438],{"class":437},[427,784,441],{"class":433},[427,786,473],{"class":472},[427,788,448],{"class":433},[427,790,478],{"class":444},[427,792,459],{"class":433},[427,794,795,797,799,802],{"class":429,"line":462},[427,796,648],{"class":433},[427,798,651],{"class":444},[427,800,801],{"class":433},"]  ",[427,803,804],{"class":562},"# 'Alex'\n",[427,806,807,809,811,813],{"class":429,"line":483},[427,808,648],{"class":433},[427,810,518],{"class":444},[427,812,801],{"class":433},[427,814,815],{"class":562},"# 42\n",[401,817,818],{},"Также у кортежа есть длина, которую можно получить с помощью функции len():",[417,820,822],{"className":419,"code":821,"language":421,"meta":422,"style":422},"tuple = (42,)  # (42,)\nlen(tuple)     # 1\npair = (1, 2)  # (1, 2)\nlen(pair)      # 2\n",[424,823,824,841,857,877],{"__ignoreMap":422},[427,825,826,829,832,834,836,838],{"class":429,"line":430},[427,827,828],{"class":444},"tuple",[427,830,831],{"class":437}," =",[427,833,441],{"class":433},[427,835,478],{"class":444},[427,837,559],{"class":433},[427,839,840],{"class":562},"# (42,)\n",[427,842,843,846,849,851,854],{"class":429,"line":462},[427,844,845],{"class":444},"len",[427,847,848],{"class":433},"(",[427,850,828],{"class":444},[427,852,853],{"class":433},")     ",[427,855,856],{"class":562},"# 1\n",[427,858,859,862,864,866,868,870,872,874],{"class":429,"line":483},[427,860,861],{"class":433},"pair ",[427,863,438],{"class":437},[427,865,441],{"class":433},[427,867,518],{"class":444},[427,869,448],{"class":433},[427,871,523],{"class":444},[427,873,585],{"class":433},[427,875,876],{"class":562},"# (1, 2)\n",[427,878,879,881,884],{"class":429,"line":507},[427,880,845],{"class":444},[427,882,883],{"class":433},"(pair)      ",[427,885,886],{"class":562},"# 2\n",[765,888,890],{"id":889},"как-разделить-значения-из-кортежа","Как разделить значения из кортежа",[401,892,893],{},"Часто кортежи содержат значения разных типов. Сложно запомнить, каким индексом обозначается каждое значение.\nЧтобы упростить работу, можно разобрать кортеж:",[417,895,897],{"className":419,"code":896,"language":421,"meta":422,"style":422},"name_and_age = ('Alex', 42)\n(name, age) = name_and_age\nname  # 'Alex'\nage   # 42\n",[424,898,899,915,925,932],{"__ignoreMap":422},[427,900,901,903,905,907,909,911,913],{"class":429,"line":430},[427,902,465],{"class":433},[427,904,438],{"class":437},[427,906,441],{"class":433},[427,908,473],{"class":472},[427,910,448],{"class":433},[427,912,478],{"class":444},[427,914,459],{"class":433},[427,916,917,920,922],{"class":429,"line":462},[427,918,919],{"class":433},"(name, age) ",[427,921,438],{"class":437},[427,923,924],{"class":433}," name_and_age\n",[427,926,927,930],{"class":429,"line":483},[427,928,929],{"class":433},"name  ",[427,931,804],{"class":562},[427,933,934,937],{"class":429,"line":507},[427,935,936],{"class":433},"age   ",[427,938,815],{"class":562},[401,940,941],{},"Также этот процесс может называться распаковкой.\nТаким же способом можно получать и сразу разбирать значения, которые возвращает функция:",[417,943,945],{"className":419,"code":944,"language":421,"meta":422,"style":422},"(quotient, modulo) = div_mod(13, 4)\n",[424,946,947],{"__ignoreMap":422},[427,948,949,952,954,957,959,961,963],{"class":429,"line":430},[427,950,951],{"class":433},"(quotient, modulo) ",[427,953,438],{"class":437},[427,955,956],{"class":433}," div_mod(",[427,958,754],{"class":444},[427,960,448],{"class":433},[427,962,534],{"class":444},[427,964,459],{"class":433},[401,966,967],{},"Соответственно, кортеж из одного элемента разбирается так:",[417,969,971],{"className":419,"code":970,"language":421,"meta":422,"style":422},"(a,) = (42,)\na  # 42\n",[424,972,973,987],{"__ignoreMap":422},[427,974,975,978,980,982,984],{"class":429,"line":430},[427,976,977],{"class":433},"(a,) ",[427,979,438],{"class":437},[427,981,441],{"class":433},[427,983,478],{"class":444},[427,985,986],{"class":433},",)\n",[427,988,989,992],{"class":429,"line":462},[427,990,991],{"class":433},"a  ",[427,993,815],{"class":562},[401,995,996,997,1000],{},"Если после имени переменной не поставить запятую, то синтаксической ошибки не будет, но в переменную ",[424,998,999],{},"a"," кортеж запишется целиком — ничего не распакуется.\nЭто логическая ошибка — мы получим не тот результат, который ожидали.",[405,1002,1004],{"id":1003},"кортежи-и-множественное-присваивание","Кортежи и множественное присваивание",[401,1006,1007],{},"Кортежи легко собирать и разбирать, поэтому в Python удобно делать множественное присваивание:",[417,1009,1011],{"className":419,"code":1010,"language":421,"meta":422,"style":422},"(a, b, c) = (1, 2, 3)\na  # 1\nb  # 2\nc  # 3\n",[424,1012,1013,1034,1040,1047],{"__ignoreMap":422},[427,1014,1015,1018,1020,1022,1024,1026,1028,1030,1032],{"class":429,"line":430},[427,1016,1017],{"class":433},"(a, b, c) ",[427,1019,438],{"class":437},[427,1021,441],{"class":433},[427,1023,518],{"class":444},[427,1025,448],{"class":433},[427,1027,523],{"class":444},[427,1029,448],{"class":433},[427,1031,529],{"class":444},[427,1033,459],{"class":433},[427,1035,1036,1038],{"class":429,"line":462},[427,1037,991],{"class":433},[427,1039,856],{"class":562},[427,1041,1042,1045],{"class":429,"line":483},[427,1043,1044],{"class":433},"b  ",[427,1046,886],{"class":562},[427,1048,1049,1052],{"class":429,"line":507},[427,1050,1051],{"class":433},"c  ",[427,1053,1054],{"class":562},"# 3\n",[401,1056,1057],{},"Используя множественное присваивание, можно обменять значения между двумя переменными. Так это выглядит:",[417,1059,1061],{"className":419,"code":1060,"language":421,"meta":422,"style":422},"a = 100\nb = 'foo'\n(a, b) = (b, a)\na  # 'foo'\nb  # 100\n",[424,1062,1063,1073,1083,1093,1100],{"__ignoreMap":422},[427,1064,1065,1068,1070],{"class":429,"line":430},[427,1066,1067],{"class":433},"a ",[427,1069,438],{"class":437},[427,1071,1072],{"class":444}," 100\n",[427,1074,1075,1078,1080],{"class":429,"line":462},[427,1076,1077],{"class":433},"b ",[427,1079,438],{"class":437},[427,1081,1082],{"class":472}," 'foo'\n",[427,1084,1085,1088,1090],{"class":429,"line":483},[427,1086,1087],{"class":433},"(a, b) ",[427,1089,438],{"class":437},[427,1091,1092],{"class":433}," (b, a)\n",[427,1094,1095,1097],{"class":429,"line":507},[427,1096,991],{"class":433},[427,1098,1099],{"class":562},"# 'foo'\n",[427,1101,1102,1104],{"class":429,"line":672},[427,1103,1044],{"class":433},[427,1105,1106],{"class":562},"# 100\n",[405,1108,1110],{"id":1109},"кортежи-как-аргументы-функций","Кортежи как аргументы функций",[401,1112,1113],{},"Также кортежи можно передавать в качестве аргументов в функцию и разбирать уже внутри нее:",[417,1115,1117],{"className":419,"code":1116,"language":421,"meta":422,"style":422},"def print_person_info(person):\n    name, age = person # разбираем переданный кортеж\n    print(f'{name} is {age} years old')\n\nperson_tuple = ('Alex', 42)\nprint_person_info(person_tuple)  # => Alex is 42 years old\n",[424,1118,1119,1129,1142,1179,1183,1200],{"__ignoreMap":422},[427,1120,1121,1123,1126],{"class":429,"line":430},[427,1122,694],{"class":437},[427,1124,1125],{"class":697}," print_person_info",[427,1127,1128],{"class":433},"(person):\n",[427,1130,1131,1134,1136,1139],{"class":429,"line":462},[427,1132,1133],{"class":433},"    name, age ",[427,1135,438],{"class":437},[427,1137,1138],{"class":433}," person ",[427,1140,1141],{"class":562},"# разбираем переданный кортеж\n",[427,1143,1144,1147,1149,1152,1155,1158,1161,1164,1167,1169,1172,1174,1177],{"class":429,"line":483},[427,1145,1146],{"class":444},"    print",[427,1148,848],{"class":433},[427,1150,1151],{"class":437},"f",[427,1153,1154],{"class":472},"'",[427,1156,1157],{"class":444},"{",[427,1159,1160],{"class":433},"name",[427,1162,1163],{"class":444},"}",[427,1165,1166],{"class":472}," is ",[427,1168,1157],{"class":444},[427,1170,1171],{"class":433},"age",[427,1173,1163],{"class":444},[427,1175,1176],{"class":472}," years old'",[427,1178,459],{"class":433},[427,1180,1181],{"class":429,"line":507},[427,1182,745],{"emptyLinePlaceholder":744},[427,1184,1185,1188,1190,1192,1194,1196,1198],{"class":429,"line":672},[427,1186,1187],{"class":433},"person_tuple ",[427,1189,438],{"class":437},[427,1191,441],{"class":433},[427,1193,473],{"class":472},[427,1195,448],{"class":433},[427,1197,478],{"class":444},[427,1199,459],{"class":433},[427,1201,1202,1205],{"class":429,"line":748},[427,1203,1204],{"class":433},"print_person_info(person_tuple)  ",[427,1206,1207],{"class":562},"# => Alex is 42 years old\n",[401,1209,1210,1211,1214,1215,1218],{},"Попробуйте сами запустить код в окне ниже с интерпретатором Python и повторите примеры из статьи чтобы самим увидеть и понять как всё это работает.\nДля этого в ячейке с кодом нажмите клавиши на клавиатуре ",[412,1212,1213],{},"Shift+Enter"," или запустите код через ",[412,1216,1217],{},"кнопку Run"," по значку ▶.",[1220,1221],"jypiter",{},[1223,1224,1225],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}",{"title":422,"searchDepth":462,"depth":672,"links":1227},[1228],{"id":399,"depth":462,"text":202,"children":1229},[1230,1231,1232,1236,1237],{"id":407,"depth":483,"text":408},{"id":614,"depth":483,"text":615},{"id":680,"depth":483,"text":681,"children":1233},[1234,1235],{"id":767,"depth":507,"text":768},{"id":889,"depth":507,"text":890},{"id":1003,"depth":483,"text":1004},{"id":1109,"depth":483,"text":1110},"2025-03-02","Работа с кортежами. Извлечение значений и разделения кортежей","md","images\u002Fblog\u002Fpython\u002Fst12\u002Fimg.png",{},7,12,{"title":202,"description":1239},"r8N06M2r4YacOq9tkx19wIooVxTfohUgWtINbVwm4xo",[1248,1250],{"title":198,"path":199,"stem":200,"description":1249,"children":-1},"Работа с модулями. Объединение отдельных модулей в пакет. Пример использования модуля random",{"title":206,"path":207,"stem":208,"description":1251,"children":-1},"Синтаксис. Модификация. Проверка существования значения",1780737508774]