Python TUPLE – Pack, Unpack, Compare, Slicing, Delete, Key

Що таке зіставлення кортежів 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»
  • Щоб отримати певні набори піделементів із кортежу чи списку, ми використовуємо цю унікальну функцію, яка називається нарізкою