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

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

Сопоставление кортежей в Python — это метод группировки кортежей путем сопоставления второго элемента в кортежах. Это достигается за счет использования словаря путем проверки второго элемента в каждом кортеже в программировании на 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).

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

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

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 Код для всех приведенных выше примеров

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() и т. д.

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

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

Резюме

Python имеет функцию назначения кортежей, которая позволяет назначать более одной переменной одновременно.

  • Упаковка и распаковка кортежей
  • При упаковке мы помещаем значение в новый кортеж, а при распаковке извлекаем эти значения обратно в переменные.
  • A оператор сравнения в Python может работать с кортежами.
  • Использование кортежей в качестве ключей в словарях
  • Кортежи хешируются, а списки — нет.
  • Мы должны использовать кортеж в качестве ключа, если нам нужно создать составной ключ для использования в словаре.
  • Словарь может возвращать список кортежей, вызывая элементы, где каждый кортеж представляет собой пару ключ-значение.
  • Кортежи неизменяемы и не могут быть удалены. Вы не можете удалять или удалять элементы из кортежа. Но полное удаление кортежа возможно с помощью ключевого слова «del».
  • Чтобы получить определенные наборы подэлементов из кортежа или списка, мы используем эту уникальную функцию, называемую нарезкой.