Урок 14. Кортежі в Python

Кортежі в Python — це незмінні (immutable) послідовності, які можуть містити кілька елементів. Вони дуже схожі на списки, але на відміну від списків, елементи кортежів не можна змінювати після їх створення. Це означає, що ви не можете додавати, видаляти або змінювати елементи кортежу.

Приклад з відео:

#Кортежі використовуються для зберігання кількох елементів в одній змінній.
#Кортеж — це впорядкована та незмінна колекція.
carTuple1 = ("Dodge", "Ford", "Toyota")
print(carTuple1)

Елементи кортежів проіндексовані, перший елемент має індекс 0, себто аналогічно до списків в цьому аспекті.

Приклад з відео:

#Елементи кортежу індексуються, перший елемент має індекс [0],
#другий елемент має індекс [1] тощо.
#Коли ми говоримо, що кортежі впорядковані, це означає, що
#елементи мають визначений порядок, і цей порядок не зміниться.
#Кортежі незмінні, тобто ми не можемо змінити,
#додати або видалити елементи після створення кортежу.
carTuple1 = ("Dodge", "Ford", "Toyota", "Dodge", "Ford")
print(carTuple1)
lengthOfCarTuple1 = len(carTuple1)
print("Length of carTuple1 equlas {}".format(lengthOfCarTuple1))

Є опція створення кортежу з одним елементом. Приклад з відео:

#Щоб створити кортеж лише з одним елементом, потрібно додати
#кому після елемента, інакше Python не розпізнає
#це як кортеж.
varCarTuple1 = ("Dodge",)
print(type(varCarTuple1))

varCarTuple2 = ("Dodge")
print(type(varCarTuple2))

Типи даних у кортежах

Кортежі в Python можуть містити елементи різних типів даних. Вони дозволяють зберігати різноманітні типи даних разом у одному об’єкті. Приклад з відео:

#Елементи кортежу можуть мати будь-який тип даних
varCarTuple1 = ("Dodge", "Ford", "Toyota")
numTuple1 = (1,3,5,7,9)
boolTuple1 = (True, False)
itemBusketTuple1 = (5.7, True, "Text", 25)
print(varCarTuple1)
print(numTuple1)
print(boolTuple1)
print(itemBusketTuple1)

Конструктор tuple()

У Python конструктор tuple() використовується для створення нового кортежу з будь-якого ітерованого об’єкта або послідовності. Це функція, яка може перетворити інші типи даних, такі як списки, рядки, чи інші ітеровані об’єкти, в кортежі.

Приклад з відео:

#Також можна використовувати конструктор tuple().
#щоб створити кортеж
varCarTuple1 = tuple(("Dodge", "Ford", "Toyota"))
print(varCarTuple1)
print(type(varCarTuple1))

Доступ до елементів кортежу

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

Приклад з відео:

#Ви можете отримати доступ до елементів кортежу, 
#посилаючись на номер індексу, в квадратних дужках
varCarTuple1 = ("Dodge", "Ford", "Toyota")
print(varCarTuple1[0])
print(varCarTuple1[1])
print(varCarTuple1[2])
#Негативна індексація означає початок з кінця
#-1 стосується останнього елемента, 
#-2 стосується передостаннього елемента тощо
print(varCarTuple1[-1])
print(varCarTuple1[-2])
print(varCarTuple1[-3])

Діапазони індексів

Діапазони індексів, або зрізи (slices), дозволяють отримувати підмножини елементів в тому числі і з кортежу. Приклад з відео:

#Ви можете вказати діапазон індексів, вказавши де
#почати і де закінчити діапазон
varCarTuple1 = ("Dodge", "Ford", "Toyota", "Chrysler", "Lincoln")
print(varCarTuple1[1:4]) #індекс 4 не включається
print(varCarTuple1[:4]) #індекс 4 не включається
print(varCarTuple1[1:])

Перевірка наявності елементу

За допомогою ключового слова in можна перевірити наявність певного елемента у кортежі. Приклад з відео:

# Щоб визначити, чи присутній певний елемент у кортежі
#використовуйте ключове слово in
varCarTuple1 = ("Dodge", "Ford", "Toyota")
if "Dodge" in varCarTuple1:
    print("Dodge is present in varCarTuple1")
    
else:
    print("Dodge is not present in varCarTuple1")

Зміна значень у кортежах

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

Приклад з відео:

#Кортежі є незмінними або немутабельними, як їх ще називають
#Ви можете перетворити кортеж на список, змінити список,
#і перетворити список назад у кортеж
varCarTuple1 = ("Dodge", "Ford", "Toyota")
print(varCarTuple1)
print(type(varCarTuple1))
tempList = list(varCarTuple1)
tempList[1] = "Honda"
print(tempList)
print(type(tempList))
varCarTuple1 = tuple(tempList)
print(varCarTuple1)
print(type(varCarTuple1))

Додавання елементів

Аналогічна ситуація з додаванням елементів до кортежу. Приклад з відео:

#кортежі незмінні. Якщо вам потрібно додати 
#елемент до кортежу, то можна
#перетворити його на список, внести зміни 
#та перетворити список назад на кортеж
varCarTuple1 = ("Dodge", "Ford", "Toyota")
print(varCarTuple1)
tempList = list(varCarTuple1)
tempList.append("Lincoln")
varCarTuple1 = tuple(tempList)
print(varCarTuple1)

Видалення елементів

Стосовно видалення елементів з кортежу – ситуація також аналогічна, себто користоємось попереднім алгоритмом дій – перетворюємо кортеж на список, далі вносимо зміни і знову перетворюємо на кортеж. Приклад з відео:

#Кортежі незмінні, тому ви не можете видалити елементи з нього
#Обхідний шлях той самий, перетворити кортеж на список, внести зміни,
#і перетворити список назад на кортеж
varCarTuple1 = ("Dodge", "Ford", "Toyota", "Car1")
print(varCarTuple1)
tempList = list(varCarTuple1)
tempList.pop()
varCarTuple1 = tuple(tempList)
print(varCarTuple1)

Додавання кортежів

В Python можна додавати кортеж до кортежу. Приклад з відео:

#В Python дозволено додавати кортежі до кортежів
varCarTuple1 = ("Dodge", "Ford", "Toyota")
varCarTuple2 = ("Lincoln", "BMW")
print(varCarTuple1)
print(varCarTuple2)
varCarTuple1 += varCarTuple2
print(varCarTuple1)
print(varCarTuple2)

Розпакування кортежу

Познайомимося з синтаксисом розпакування кортежу. Приклад з відео:

#упаковка кортежу
varCarTuple1 = ("Dodge", "Ford", "Toyota")
print(varCarTuple1)
#розпакування кортежу
(car1, car2, car3) = varCarTuple1
print(car1)
print(car2)
print(car3)

Також при розпакуванні кортежу можна скористатися синтаксичною опцією з зірочкою. Приклад з відео:

#Якщо кількість змінних менша за кількість значень,
#ви можете додати * до назви змінної тоді значеня
#буде призначено змінній у вигляді списку
varCarTuple1 = ("Dodge", "Ford", "Toyota", "Lincoln", "BMW")
print(varCarTuple1)
(car1, car2, *car3) = varCarTuple1
print(car1)
print(car2)
print(car3)

Цикл for та кортежі

Цикли for в Python є дуже зручним інструментом для ітерації через елементи різних типів даних, включаючи кортежі. Вони дозволяють перебирати всі елементи кортежу один за одним і виконувати над ними операції.

Приклад з відео:

#Ви можете пройти через елементи 
#кортежу за допомогою циклу for
varCarTuple1 = ("Dodge", "Ford", "Toyota")
for car in varCarTuple1:
    print(car)

Приклад використання циклу for у поєднанні з функціями range() та len() на кортежах:

#Ви також можете переглядати елементи кортежу, посилаючись
#на індексний номер елемента
#Використовуйте функції range() і len(), щоб створити відповідну ітерацію
varCarTuple1 = ("Dodge", "Ford", "Toyota")
for i in range(len(varCarTuple1)):
    print(varCarTuple1[i])

Цикл while та кортежі

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

Приклад з відео:

#Ви можете пройти через елементи 
#кортежу за допомогою циклу while
varCarTuple = ("Dodge", "Ford", "Toyota")
counter = 0
while counter < len(varCarTuple):
    print(varCarTuple[counter])
    counter = counter+1

Об’єднання та множення кортежів

В Python кортежі можуть бути об’єднані (конкатеновані) і помножені. Ці операції дозволяють вам легко працювати з кортежами, комбінуючи їх або створюючи нові на основі існуючих.

Приклад з відео:

#щоб додати кортежі, використовуйте оператор +
varCarTuple1 = ("Dodge", "Ford", "Toyota")
varCarTuple2 = ("Alfa Romeo", "BMW")
varCarTuple3 = varCarTuple1+varCarTuple2
print(varCarTuple1)
print(varCarTuple2)
print(varCarTuple3)
#Якщо ви хочете помножити вміст кортежу
#на вказану кількість разів, 
#ви можете використовувати оператор *
varCarTuple4 = varCarTuple3*2
print(varCarTuple4)
Урок 14. Кортежі в Python

В цьому відео поговоримо про:
00:14 Python Tuples – Кортежі
03:47 Syntax for tuple with one item – синтаксис для кортежу з одного елементу
06:34 Data Types in Tuples – Типи даних у кортежах
07:43 Tuple Constructor – Конструктор кортежу
10:42 Access Items – Доступ до елементів
12:17 Range of Indexes – Діапазон індексів
15:36 Check if item exists – Перевірка наявності елементу
17:47 Change values in tuples – Зміна значення у кортежах
25:17 Add items – Додавання елементів
27:39 Remove items – Видалення елементів
29:32 Add tuples – Додавання кортежів
33:44 Unpacking tuple – Розпаковання кортежу
36:35 Unpacking tuple with * – Розпакування кортежу з *
39:06 For loop – цикл
41:07 While loop – цикл
42:43 Join and multiply tuples – Об’єднання та множення кортежів

Приклади на Github

Leave a Reply

Your email address will not be published. Required fields are marked *