Python TUPLE – упаковка, распаковка, сравнение, нарезка, удаление, ключ.

⚡ Умное резюме

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

  • 📦 Определение: Кортеж — это упорядоченная, неизменяемая коллекция, созданная с помощью скобок.
  • 🔁 Упаковка/Распаковка: Сгруппируйте значения в кортеж, затем...tract преобразует их обратно в переменные.
  • Сравнивая: Кортежи сравниваются поэлементно слева направо.
  • 🔑 Ключи к словарю: Поскольку кортежи можно хешировать, они могут выступать в качестве составных ключей словаря.
  • ✂️ Нарезка: Извлечение подэлементов из кортежа с использованием обозначения среза.
  • 🚀 Преимущества: Кортежи работают быстрее и защищены от записи по сравнению со списками.

Python Кортеж

Что такое сопоставление кортежей Python?

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

Синтаксис кортежа

Tup = ('Jan','feb','march')

Чтобы написать пустой кортеж, вам нужно написать две круглые скобки, ничего не содержащие:

tup1 = ();

Чтобы записать кортеж для одного значения, вам необходимо поставить запятую, даже если значение одно. Также в конце нужно написать точку с запятой, как показано ниже.

Tup1 = (50,);

Индексы кортежей начинаются с 0, их можно объединять, нарезать и т. д.

Присвоение кортежа

Python имеет функцию назначения кортежей, которая позволяет назначать более одной переменной одновременно. Здесь мы назначили кортеж 1 с информацией о людях, такой как имя, фамилия, год рождения и т. д., и еще один кортеж 2 со значениями в нем, такими как число (1,2,3,….,7).

Например,

(имя, фамилия, год рождения, любимый фильм и год, профессия, место рождения) = Роберт

Вот код,

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print(tup1[0])
print(tup2[1:4])
  • Кортеж 1 включает список информации о Роберте.
  • Кортеж 2 включает в себя список чисел.
  • Мы вызываем значение для [0] в кортеже, а для кортежа 2 мы вызываем значение от 1 до 4.
  • Запустите код. Для первого кортежа он дает имя Роберт, а для второго кортежа - номер (2,3 и 4).

Упаковка и распаковка

При упаковке мы присваиваем значение новому кортежу, а при распаковке — вычитаем.tract преобразует эти значения обратно в переменные.

x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print(company)
print(emp)
print(profile)

Сравнение кортежей

Оператор сравнения в Python может работать с кортежами.

Сравнение начинается с первого элемента каждого кортежа. Если они не сравниваются с =,< или >, то переходим ко второму элементу и так далее.

Он начинается со сравнения первого элемента каждого из кортежей.

Давайте изучим это на примере:

#Дело 1

a=(5,6)
b=(1,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

#Дело 2

a=(5,6)
b=(5,4)
if (a>b):print("a is bigger")
else: print ("b is bigger")

#Дело 3

a=(5,6)
b=(6,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

Случай 1: Сравнение начинается с первого элемента каждого кортежа. В этом случае 5>1, поэтому выходное значение a больше

Дело 2: Сравнение начинается с первого элемента каждого кортежа. В данном случае 5>5, что неубедительно. Итак, переходим к следующему элементу. 6>4, поэтому выход a больше

Дело 3: Сравнение начинается с первого элемента каждого кортежа. В данном случае 5>6, что неверно. Поэтому он переходит в блок else и печатает «b больше».

Использование кортежей в качестве ключей в словарях

Поскольку кортежи хешируются, а список — нет, мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.

Пример: Мы встретимся с составным ключом, если нам нужно создать телефонный справочник, который сопоставляет имя, фамилию, пары телефонных номеров и т. д. Предполагая, что мы объявили переменные как последний и первый номер, мы могли бы написать оператор присваивания словаря, как показано ниже:

directory[last,first] = number

Внутри скобок выражение представляет собой кортеж. Мы могли бы использовать назначение кортежа в цикле for для навигации по словарю.

for last, first in directory:
print first, last, directory[last, first]

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

Кортежи и словарь

Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж представляет собой пару ключ-значение.

a = {'x':100, 'y':200}
b = list(a.items())
print(b)

Удаление кортежей

Кортежи неизменяемы и не могут быть удалены. Вы не можете удалять или удалять элементы из кортежа. Но полное удаление кортежа возможно с помощью ключевого слова

del

Нарезка кортежа

Чтобы получить определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой. Нарезка применима не только к кортежу, но также к массиву и списку.

x = ("a", "b","c", "d", "e")
print(x[2:4])

Результатом этого кода будет ('c', 'd').

Вот Python 2 Code для всех приведенных выше примеров

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print  tup1[0]
print  tup2[1:4]

#Packing and Unpacking
x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print company
print emp
print profile

#Comparing tuples
#case 1
a=(5,6)
b=(1,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 2
a=(5,6)
b=(5,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 3
a=(5,6)
b=(6,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#Tuples and dictionary
a = {'x':100, 'y':200}
b = a.items()
print b 

#Slicing of Tuple
x = ("a", "b","c", "d", "e")
print x[2:4]

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

Для выполнения различных задач кортеж позволяет использовать множество встроенных функций, таких как all(), Any(), enumerate(), max(), min(), sorted(), len(), tuple() и т. д.

Преимущества кортежа перед списком

  • Перебор кортежа выполняется быстрее, чем по списку, поскольку кортежи неизменяемы.
  • Кортежи, состоящие из неизменяемых элементов, могут использоваться в качестве ключа для словаря, что невозможно со списком.
  • Если у вас есть неизменяемые данные, реализация их в виде кортежа гарантирует, что они останутся защищенными от записи.

Часто задаваемые вопросы (FAQ)

Кортеж является неизменяемым и записывается в скобках, тогда как список является изменяемым и записывается в квадратных скобках. Кортежи работают быстрее и могут служить ключами словаря; списки лучше подходят, когда нужно добавлять, удалять или изменять элементы.

Нет. Кортежи являются неизменяемыми, поэтому вы не можете изменять, добавлять или удалять их элементы после создания. Если вам нужна измененная версия, создайте новый кортеж или преобразуйте кортеж в список, измените его, а затем преобразуйте обратно.

После значения добавьте запятую, например, t = (50,). Без запятой, Python рассматривает скобки как обычную группуping и создает целое число, а не кортеж. Запятая делает его кортежем из одного элемента.

Для преобразования списка в кортеж используйте функцию `tuple()`, например, `tuple([1, 2, 3])`. Для обратного преобразования используйте функцию `list()` для кортежа. Преобразование удобно, когда необходимо временно изменить данные, которые в противном случае остаются неизменными.

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

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

Кортежи хранят фиксированные, упорядоченные данные, такие как формы массивов, координаты и записи наборов данных. Библиотеки, такие как NumPy и pandas, используют кортежи для хранения форм и индексов. Их неизменяемость обеспечивает безопасность данных для машинного обучения при передаче без случайных изменений.

Да. Эти ИИ-помощники могут генерировать код для упаковки, распаковки и нарезки кортежей на основе простой и понятной подсказки, а затем объяснять каждую строку. Они также подсказывают, когда кортеж подходит лучше, чем список. Всегда проверяйте и тестируйте сгенерированный код перед его использованием.

Подведем итог этой публикации следующим образом: