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

⚡ Розумний підсумок

Python Кортеж — це впорядкована, незмінна колекція значень, записаних у дужках. Наведені нижче приклади охоплюють пакування та розпакування кортежів, порівняння кортежів, використання кортежів як ключів словника, видалення, нарізання та переваги кортежів над списками.

  • 📦 Визначення: Кортеж — це впорядкована, незмінна колекція, створена за допомогою дужок.
  • 🔁 Упаковка/розпакування: Згрупуйте значення в кортеж, а потім extracперетворити їх назад у змінні.
  • 🇧🇷 Порівняння: Кортежі порівнюються поелементно зліва направо.
  • 🔑 Ключі словника: Оскільки кортежі хешуються, вони можуть виступати в ролі складених ключів словника.
  • ✂️ Нарізка: Вибрати піделементи з кортежу, використовуючи нотацію зрізу.
  • ???? переваги: Кортежі швидші та захищені від запису порівняно зі списками.

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)

Упаковка та розпакування

Під час пакування ми поміщаємо значення в новий кортеж, тоді як під час розпакування миtracперетворити ці значення назад у змінні.

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() тощо.

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

  • Ітерація через кортеж швидше, ніж зі списком, оскільки кортежі незмінні.
  • Кортежі, які складаються з незмінних елементів, можна використовувати як ключ для словника, що неможливо зі списком
  • Якщо у вас є дані, які є незмінними, реалізація їх у вигляді кортежу гарантує, що вони залишатимуться захищеними від запису

Поширені запитання

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

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

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

Використовуйте tuple() для перетворення списку на кортеж, наприклад tuple([1, 2, 3]). Щоб піти іншим шляхом, використовуйте list() для кортежу. Перетворення зручне, коли вам потрібно тимчасово змінити дані, які в іншому випадку є фіксованими.

Так. Кортеж може містити змішані типи, такі як рядки, цілі числа та числа з плаваючою комою, а також може містити інші кортежі або списки. Вкладені кортежі дозволяють моделювати рядки, координати або записи, де кожна позиція має чітке значення.

Іменований кортеж з модуля колекцій надає кожній позиції назву, щоб ви могли читати поля за міткою, а не за індексом. Це зберігає незмінність та швидкість кортежу, водночас роблячи код набагато читабельнішим, подібно до легкого класу.

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

Так. Ці помічники на основі штучного інтелекту можуть генерувати код для пакування, розпакування та нарізання кортежів з підказки простою англійською мовою, а потім пояснювати кожен рядок. Вони також підказують, коли кортеж підходить краще, ніж список. Завжди переглядайте та тестуйте згенерований код перед його використанням.

Підсумуйте цей пост за допомогою: