22:52
Кортежи в Python: как создавать неизменяемые списки
Кортежи в Python - это коллекции различных или одинаковых данных, которые помечены индексом и не могут быть изменены. Кортежи в Python создаются подобно классическим спискам в языке программирования Интернет.



Что такое кортежи в Python?

На первый взгляд, Python Tuples напоминают хорошо известные Python Lists. Оба списка представляют собой списки, которые содержат и хранят много различного содержимого и поэтому могут быть представлены наглядно. Однако есть разница: содержимое кортежа Python неизменяемо. Это означает, что после заполнения кортежей Python содержимым, оно остается неизменным и не может быть удалено. Это особенно полезно, если это содержимое состоит из констант, которые абсолютно точно должны быть сохранены в их текущей форме и составе. Используя Python Tuples, вы можете быть уверены, что это содержимое находится в оригинальной форме.

Содержимое кортежа Python записывается в фиксированном порядке, который также не может быть изменен впоследствии. Каждому отдельному значению присваиваются номера индексов, известные из учебников Python, начиная с 0. Отдельное содержимое внутри кортежа Python может иметь одинаковые значения, поскольку их все равно можно различить по номерам индексов. Длина кортежа в Python не ограничена, и его содержимое теоретически может состоять из всех возможных типов данных.

Как создаются кортежи в Python?

Кортежи в Python формируются с помощью круглых скобок, а их содержимое разделяется запятыми. Для вывода используется функция печати. В письменном виде кортеж выглядит следующим образом:

Код
tuple = ( "первое_значение", "второе_значение", "третье_значение" )
print ( tuple )


Также можно сформировать кортеж, содержащий только один элемент. Однако в этом случае важно, чтобы после элемента стояла запятая, иначе программа не сможет распознать кортеж и вместо него примет строку с круглыми скобками. Это правильная нотация в таком случае:

Код

tuple = ("single_value", )
print ( tuple )


Примеры для кортежей Python

Итак, теперь, если вы хотите создавать кортежи в Python, используйте для этого круглые скобки и располагайте всю важную информацию в правильном порядке. Как уже упоминалось, кортежи в Python могут содержать различные типы данных. Возможно использование простых строк Python:

Код

tuple =("собака", "кошка", "мышь")


Числовые значения:

Код

tuple = ( 4, 17, 39, 12 )


Булевы значения:

Код

tuple = ( False, False, True, False )


Возможна также смесь:

Код

tuple = ("Мустерманн", "Макс", 1974, True )


Адресация элементов в кортежах Python

Поскольку отдельные элементы кортежа Python определяются индексом, к ним можно обращаться и считывать их без проблем. Процесс похож на обычный список и запускается через квадратные скобки. Например, вот так:

Код

tuple = ("собака", "кошка", "мышь")
print ( tuple [ 1 ] )


Второе значение этого кортежа Python - "кошка", поэтому слово выводится после этого запроса.

Если вы хотите прочитать несколько значений, действуйте следующим образом:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
print ( tuple [ 1:3 ] )


Теперь вывод выглядит следующим образом:

"кошка", "мышь", "змея".

Нахождение длины кортежа в Python

Чтобы определить длину кортежа в Python, используйте функцию len. Это работает следующим образом:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
print ( len ( tuple ) )


В качестве вывода вы получаете "5" для пяти содержащихся значений.

Изменение кортежей Python

Кортежи Python неизменяемы и поэтому не могут быть заполнены новыми элементами. Тем не менее, чтобы обновить существующий кортеж, можно создать новый кортеж и заполнить его новыми значениями и исходным кортежем. Для этого используется оператор +. Вот пример:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
tuple2 = кортеж + ("хомяк", "жираф" )
print ( tuple2 )


Теперь вывод выглядит следующим образом:

"собака", "кошка", "мышь", "змея", "лошадь", "хомяк", "жираф".

Преобразование кортежей Python в списки

Однако, если некоторые значения кортежа Python уже не актуальны, описанный выше метод не поможет. Однако, поскольку невозможно изменить значения внутри кортежа Python, вам нужна альтернатива. Это обеспечивается классическим списком. Преобразовав кортеж в список, вы можете снова изменить существующие значения. Это работает следующим образом:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
list1 = list ( tuple )
list1 [ 2 ] = "слон"
print ( list1 )


Теперь мы получаем в качестве вывода:

"собака", "кошка", "слон", "змея", "лошадь".

Преобразование списков в кортежи Python


Однако этот способ работает и в обратную сторону. Если вы создали список и обнаружили, что хотели бы сохранить соответствующие значения в их текущей форме, вы также можете преобразовать списки в кортежи Python. В следующем примере мы преобразуем список в кортеж, а затем запрашиваем тип данных кортежа в Python для обеспечения безопасности:

Код
list1 = list ("синий", "красный", "желтый", "оранжевый" )
кортеж1 = кортеж ( список1 )
print ( tuple1 )
print ( type ( tuple 1 ) )


Вывод выглядит следующим образом:

Код
("синий", "красный", "желтый", "оранжевый" )
< class 'tuple' >


Чтобы удалить кортеж

Хотя отдельные элементы нельзя удалить из кортежа, вы можете удалить весь неизменяемый список. Для этого используйте команду del. Вот соответствующий код:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
del tuple


Встроенные функции

Для кортежей в Python есть только две встроенные функции: index и count.

Индексная функция для кортежей Python

Используйте индекс для запроса индекса заданного значения. Вот соответствующий код:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
tuple.index ("змея")


В этом случае на выходе будет "3".

Функция подсчета для кортежей Python

С помощью count вы запрашиваете, как часто элемент встречается в кортеже Python. Вот пример:

Код

tuple = ("собака", "кошка", "мышь", "змея", "лошадь" )
tuple.count ("собака")


В данном случае ответ - "1".
Категория: Программирование | Просмотров: 29 | Добавил: vit90ivan | Теги: python, питон, программирование для начинающих | Рейтинг: 0.0/0
Всего комментариев: 0
avatar