11.2.4.1 создавать кортеж; Python. Tuples (Кортежи) Вы уже знакомы с такми коллекциями как list, set, string.Кортежи похожи на списки. Элементы кортежа также индексируются, но скобки используются круглые, а не квадратные:
Сравнение кортежей Кортежи можно сравнивать друг с другом.
Обратите внимание, что операции == и != применимы к любому кортежу, независимо от типа элемента. Но операции <, >, <=, >= применимы только в том случае, если соответствующие элементы являются кортежами одного типа. Следовательно, можно сравнивать ('12', 'school') и ('12', 'class'), но кортежи (1, 2) и ('5', 'Амир') сравнивать нельзя — Python интерпретатор выдаст ошибку. В этом случае сравнение происходит последовательно поэлементно, и если элементы равны, просматривается следующий элемент. НеизменяемостьНаиболее важным техническим отличием кортежей от списков является неизменность. Как и в случае со строкой, элемент нельзя добавить в кортеж с помощью метода append, а существующий элемент нельзя изменить, проиндексировав его. Есть и смысловая разница. Предположим, что списки с большей вероятностью объединяют неопределенное количество однородных сущностей. В этом случае кортеж — это быстрый способ объединить несколько разных объектов с разными значениями под одним именем. Еще одно приятное различие между кортежами и списками заключается в том, что они могут быть элементами множества:
Множественное присваиваниеИспользование кортежей позволяет выполнять множественное присваивание. Это делает прекрасную функцию обмена значениями в Python работающей.
Как известно, слева от знака присваивания = должно стоять имя переменной или имя списка с индексом или несколькими индексами. Они указывают, куда «поместить» значение, записанное справа от знака присваивания. Однако слева от знака присваивания можно написать и кортеж таких обозначений (имен переменных), а справа кортеж значений, которые должны в них помещаться. Значения справа указываются в том же порядке, что и переменные слева (здесь скобки вокруг кортежа необязательны):
В приведенном выше примере мы создали кортеж справа от = прямо на той же строке. Но можно приготовить заранее:
Cначала вычисляются все значения справа, и только потом они подставляются в левую часть оператора присваивания. Поэтому можно, например, поменять местами значения переменных a и b, написав: a, b = b, a.
Выполните трассировку следующего фрагмента кода.
В приведенном ниже примере будет напечатано "1 2 3". Благодаря кортежам многие алгоритмы становятся волшебно лаконичными. Например, вычисление чисел Фибоначчи:
Вопросы: 1. Что такое кортеж? 2. Назовите свойства кортежа. 3. Объясните, что значит множественное присваивание. Упражнения: Задачи: | |
| |
Просмотров: 1002 | | |
Всего комментариев: 0 | |