Python Tuple — це набір об’єктів, розділених комами. У певному сенсі кортеж схожий на список Python з точки зору індексування, вкладених об’єктів і повторення, але основна відмінність між ними полягає в тому, що кортеж Python є незмінним, на відміну від списку Python, який є змінним.
Створення кортежів Python
Існують різні способи створення кортежу Python . Вони такі:
- Використання круглих дужок
- З одним предметом
- Конструктор кортежів
Створення кортежів за допомогою круглих дужок ()
Для створення кортежу ми будемо використовувати оператори ().
Python3
var> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> print> (var)> |
>
>
Вихід:
('Geeks', 'for', 'Geeks')>
Створіть кортеж з одним елементом
Python 3.11 надає нам інший спосіб створення кортежу.
Python3
values :> tuple> [> int> |> str> , ...]> => (> 1> ,> 2> ,> 4> ,> 'Geek'> )> print> (values)> |
>
>
Вихід:
Тут, у наведеному вище фрагменті, ми розглядаємо змінну під назвою values, яка містить кортеж, що складається з int або str, «…» означає, що кортеж буде містити більше одного int або str.
(1, 2, 4, 'Geek')>
Примітка: Якщо ви створюєте кортеж з одним елементом, обов’язково додайте кому після елемента. Давайте подивимося на приклад того самого.
Python3
mytuple> => (> 'Geeks'> ,)> print> (> type> (mytuple))> #NOT a tuple> mytuple> => (> 'Geeks'> )> print> (> type> (mytuple))> |
>
>
Вихід:
>
Конструктор кортежів у Python
Щоб створити кортеж за допомогою конструктора Tuple, ми передамо елементи як його параметри.
Python3
tuple_constructor> => tuple> ((> 'dsa'> ,> 'developement'> ,> 'deep learning'> ))> print> (tuple_constructor)> |
>
>
Вихід:
('dsa', 'developement', 'deep learning')>
Що є незмінним у кортежах?
Кортежі в Python схожі на Списки Python але не повністю. Кортежі є незмінними та впорядкованими та допускають повторювані значення. Деякі характеристики кортежів у Python.
- Ми можемо знайти елементи в кортежі, оскільки пошук будь-якого елемента не вносить змін у кортеж.
- Не можна додавати елементи до кортежу після його створення.
- Кортежі не можна додавати або розширювати.
- Ми не можемо видалити елементи з кортежу після його створення.
Побачимо це на прикладі.
Python3
mytuple> => (> 1> ,> 2> ,> 3> ,> 4> ,> 5> )> # tuples are indexed> print> (mytuple[> 1> ])> print> (mytuple[> 4> ])> # tuples contain duplicate elements> mytuple> => (> 1> ,> 2> ,> 3> ,> 4> ,> 2> ,> 3> )> print> (mytuple)> # adding an element> mytuple[> 1> ]> => 100> print> (mytuple)> |
>
>
Вихід:
Кортежі Python упорядковані, і ми можемо отримати доступ до їхніх елементів, використовуючи значення їх індексів. Вони також є незмінними, тобто ми не можемо додавати, видаляти та змінювати елементи, колись оголошені в кортежі, тому коли ми намагалися додати елемент з індексом 1, це породжувало помилку.
2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>
Доступ до значень у кортежах Python
Кортежі в Python пропонують два способи доступу до елементів кортежу.
- Використання позитивного індексу
- Використання негативного індексу
Python Access Tuple з використанням позитивного індексу
Використовуючи квадратні дужки, ми можемо отримати значення з кортежів у Python.
Python3
var> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> print> (> 'Value in Var[0] = '> , var[> 0> ])> print> (> 'Value in Var[1] = '> , var[> 1> ])> print> (> 'Value in Var[2] = '> , var[> 2> ])> |
>
кількість нулів
>
Вихід:
Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>
Доступ до кортежу за допомогою негативного індексу
У наведених вище методах ми використовуємо позитивний індекс для доступу до значення в Python, а тут ми будемо використовувати негативний індекс у [].
Python3
var> => (> 1> ,> 2> ,> 3> )> print> (> 'Value in Var[-1] = '> , var[> -> 1> ])> print> (> 'Value in Var[-2] = '> , var[> -> 2> ])> print> (> 'Value in Var[-3] = '> , var[> -> 3> ])> |
>
>
Вихід:
Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>
Різні операції, пов’язані з кортежами
Нижче наведено різні операції, пов’язані з кортежами в Python:
- Конкатенація
- Гніздування
- Повторення
- Нарізка
- Видалення
- Знаходження довжини
- Кілька типів даних із кортежами
- Перетворення списків у кортежі
- Кортежі в циклі
Конкатенація кортежів Python
до Конкатенація кортежів Python, ми будемо використовувати оператори плюс (+).
Python3
# Code for concatenating 2 tuples> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> tuple2> => (> 'python'> ,> 'geek'> )> # Concatenating above two> print> (tuple1> +> tuple2)> |
>
>
Вихід:
(0, 1, 2, 3, 'python', 'geek')>
Вкладення кортежів Python
Вкладений кортеж у Python означає кортеж всередині іншого кортежу.
Python3
# Code for creating nested tuples> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> tuple2> => (> 'python'> ,> 'geek'> )> tuple3> => (tuple1, tuple2)> print> (tuple3)> |
>
>
Вихід:
((0, 1, 2, 3), ('python', 'geek'))>
Повторення кортежів Python
Ми можемо створити кортеж з кількох однакових елементів з одного елемента цього кортежу.
Python3
# Code to create a tuple with repetition> tuple3> => (> 'python'> ,)> *> 3> print> (tuple3)> |
>
>
Вихід:
('python', 'python', 'python')>
Спробуйте наведене вище без коми та перевірте. Ви отримаєте tuple3 як рядок «pythonpythonpython».
Нарізка кортежів у Python
Розрізання кортежу Python означає поділ кортежу на маленькі кортежі за допомогою методу індексування.
Python3
# code to test slicing> tuple1> => (> 0> ,> 1> ,> 2> ,> 3> )> print> (tuple1[> 1> :])> print> (tuple1[::> -> 1> ])> print> (tuple1[> 2> :> 4> ])> |
>
>
Вихід:
У цьому прикладі ми розділили кортеж від індексу 1 до останнього елемента. У другому операторі друку ми надрукували кортеж за допомогою зворотного індексування. А в третьому операторі друку ми надрукували елементи з індексу 2 по 4.
налаштований виняток у java
(1, 2, 3) (3, 2, 1, 0) (2, 3)>
Примітка: У нарізці Python наданий кінцевий індекс не включається.
Видалення кортежу в Python
У цьому прикладі ми видаляємо кортеж за допомогою « del' ключове слово . Вихід буде у вигляді помилки, оскільки після видалення кортежу він видасть NameError.
Примітка: Видалити окремі елементи кортежу неможливо, але ми можемо видалити весь кортеж за допомогою ключового слова Del.
Python3
# Code for deleting a tuple> tuple3> => (> 0> ,> 1> )> del> tuple3> print> (tuple3)> |
>
>
Вихід:
Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>
Пошук довжини кортежу Python
Щоб знайти довжину кортежу, ми можемо використати функцію len() Python і передати кортеж як параметр.
Python3
# Code for printing the length of a tuple> tuple2> => (> 'python'> ,> 'geek'> )> print> (> len> (tuple2))> |
>
>
Вихід:
2>
Кілька типів даних із кортежем
Кортежі в Python неоднорідні за своєю природою. Це означає, що кортежі підтримують елементи з кількома типами даних.
Python3
# tuple with different datatypes> tuple_obj> => (> 'immutable'> ,> True> ,> 23> )> print> (tuple_obj)> |
>
>
Вихід:
('immutable', True, 23)>
Перетворення списку в кортеж
Ми можемо перетворити a список у Python до кортежу за допомогою конструктора tuple() і передання списку як його параметрів.
Python3
# Code for converting a list and a string into a tuple> list1> => [> 0> ,> 1> ,> 2> ]> print> (> tuple> (list1))> # string 'python'> print> (> tuple> (> 'python'> ))> |
>
>
Вихід:
Кортежі приймають один параметр, який може бути списком, рядком, набором або навіть словником (лише ключі беруться як елементи), і перетворюють їх на кортеж.
(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')>
Кортежі в циклі
Ми також можемо створити кортеж з одним елементом у ньому, використовуючи петлі .
Python3
# python code for creating tuples in a loop> tup> => (> 'geek'> ,)> # Number of time loop runs> n> => 5> for> i> in> range> (> int> (n)):> > tup> => (tup,)> > print> (tup)> |
>
>
Вихід:
(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>