Операції над кортежами. Обхід кортежу. Методи роботи з кортежами
Зміст
- 1. Операція присвоювання кортежу =. Приклади
- 2. Операція tuple() – створення кортежу з ітерованого об’єкту
- 3. Операція T[i]. Отримати елемент за його індексом
- 4. Операція T[i][j]. Отримати доступ до складеного елементу в кортежі
- 5. Операція T[i:j]. Взяття зрізу в кортежі
- 6. Конкатенація +
- 7. Повторення *
- 8. Обхід кортежу в циклі. Приклад
- 9. Операція in. Перевірка входження елементу в кортеж
- 10. Методи роботи з кортежами
- Зв’язані теми
Пошук на інших ресурсах:
1. Операція присвоювання кортежу =. Приклади
Будь-якому об’єкту, що має ім’я, можна присвоїти кортеж. Приклади присвоєнь кортежів.
a = () # пустий кортеж b = (5, 'Hello', True) # кортеж з 3-х елементів різних типів c = ('world', (2.88, "bestprog")) # вкладений кортеж d = 5, 'Hello', True # такий самий кортеж як і b e = (3.88,) # Кортеж строго з одного елементу
⇑
2. Операція tuple() – створення кортежу з ітерованого об’єкту
Кортеж можна створити з допомогою операції tuple(). Ця операція приймає параметром ітерований об’єкт, яким може бути інший кортеж, список, рядок.
Наприклад
# Операція tuple() # 1. Створення кортежу зі слова 'Hello' d = tuple('Hello'); # d = ('H', 'e', 'l', 'l', 'o') # 2. Створення кортежу зі списку # Заданий список lst = [2, "abc", 3.88] # Створити кортеж e = tuple(lst) # e = (2, 'abc', 3.88) # 3. Створення кортежу з іншого кортежу f = tuple((3, 2, 0, -5)) # f = (3, 2, 0, -5)
⇑
3. Операція T[i]. Отримати елемент за його індексом
Елемент кортежу може бути отриманий за його індексом.
Приклад.
# Кортежі. Операція взяття індексу # 1. Кортеж, що містить рядки a = ('a', 'bc', 'def', 'ghij') item = a[2] # item = 'def' # 2. Кортеж, що містить інший кортеж та його елементи b = (a, a[1], True) item = b[0] # item = ('a', 'bc', 'def', 'ghij') item = b[1] # item = 'bc' # 3. Кортеж, що містить список c = (1, [2, 3, 4], "text") # 3.1. Витягнути список з кортежу item = c[1] # item = [2, 3, 4], с = (1, [2, 3, 4], 'text') # 3.2. Список у кортежі є змінюваний, тому його # можна змінити c[1][1] = 8 # с = (1, [2, 8, 4], 'text')
⇑
4. Операція T[i][j]. Отримати доступ до складеного елементу в кортежі
Як відомо, кортеж може містити вкладені об’єкти, якими можуть бути списки, рядки чи навіть інші кортежі. Щоб отримати елемент вкладеного об’єкту потрібно використати операцію взяття індексу
T[i][j]
де
- T – назва кортежу;
- i – позиція вкладеного об’єкту в кортежі;
- j – позиція елементу у вкладеному об’єкті.
Приклад.
# Операція T[i][j] - отримати елемент за індексом # 1. Кортеж, що містить список A = ( 2.5, ['a', True, 3.17], 8, False, 'z') item1 = A[1] # item1 = ['a', True, 3.17] item2 = A[1][2] # item2 = 3.17 # 2. Кортеж, що містить рядок B = ( "Hello", "abcd", 2.55) item1 = B[0] # item1 = 'Hello' item2 = B[0][4] # item2 = 'o' # 3. Кортеж, що містить інший кортеж, список, рядок C = ( (1, 2, 5), [2, 7, -100], "Python") item1 = C[0] # item1 = (1, 2, 5) item2 = C[0][2] # item2 = 5 # 4. Три рівні вкладення D = ( [ 7, True, ('a', 'b', 'cd')], 12, "bestprog") item1 = D[0] # item1 = [7, True, ('a', 'b', 'cd')] item2 = D[0][2] # item2 = ('a', 'b', 'cd') item3 = D[0][2][1] # item2 = 'b'
⇑
5. Операція T[i:j] взяття зрізу в кортежі
З допомогою операції взяття зрізу можна отримати інший кортеж. Загальна форма операції взяття зрізу для кортежу наступна
T2 = T1[i:j]
тут
- T2 – новий кортеж, який утворюється з кортежу T1;
- T1 – вихідний кортеж, для якого відбувається зріз;
- i, j – відповідно нижня та верхня межа зрізу. Фактично беруться до уваги елементи, що лежать на позиціях i, i+1, …, j-1. Значення j визначає позицію за останнім елементом зрізу.
Операція взяття зрізу для кортежу може мати модифікації. Біль детально про використання зрізів у Python описується в темі:
Приклад.
# Операція [i:j] - взяття зрізу # 1. Кортеж, що містить цілі числа A = ( 0, 1, 2, 3) item = A[0:2] # item = (0, 1) # 2. Кортеж, що містить список A = ( 2.5, ['abcd', True, 3.1415], 8, False, 'z') item = A[1:3] # item = (['abcd', True, 3.1415], 8) # 3. Кортеж, що містить вкладений кортеж A = (3, 8, -11, "program") B = ("Python", A, True) item = B[:3] # item = ('Python', (3, 8, -11, 'program'), True) item = B[1:] # item = ((3, 8, -11, 'program'), True)
⇑
6. Конкатенація +
Для кортежів можна виконувати операцію конкатенації, яка позначається символом +. У найпростішому випадку для конкатенації двох кортежів загальна форма операції наступна
T3 = T1 + T2
де
- T1, T2 – кортежі, для яких потрібно виконати операцію конкатенації. Операнди T1, T2 обов’язково мають бути кортежами. При виконанні операції конкатенації для кортежів, використовувати в якості операндів будь-які інші типи (рядки, списки) заборонено;
- T3 – кортеж, що є результатом.
Приклад.
# Кортежі. Конкатенація + # Додавання двох кортежів A = (1, 2, 3) B = (4, 5, 6) C = A + B # C = (1, 2, 3, 4, 5, 6) # Додавання кортежів зі складними об'єктами D = (3, "abc") + (-7.22, ['a', 5]) # D = (3, 'abc', -7.22, ['a', 5]) # Конкатенація трох кортежів A = ('a', 'aa', 'aaa') B = A + (1, 2) + (True, False) # B = ('a', 'aa', 'aaa', 1, 2, True, False)
⇑
7. Повторення *
Кортеж може бути утворений шляхом операції повторення, яка позначається символом *. При використанні у виразі загальна форма операції наступна
T2 = T1 * n
тут
- T2 – результуючий кортеж;
- T1 – вихідний кортеж, який потрібно повторити n разів;
- n – кількість повторень кортежу T1.
Приклад.
# Кортежі. Повторення * # Кортеж, що містить прості числа A = (1, 2, 3) * 3 # A = (1, 2, 3, 1, 2, 3, 1, 2, 3) # Кортеж, що містить вкладені об'єкти B = ("ab", ["1", "12"])*2 # A=('ab', ['1','12'], 'ab', ['1','12'])
⇑
8. Обхід кортежу в циклі. Приклад
Елементи кортежу можна послідовно переглянути з допомогою операторів циклу while або for.
Приклад
# Обхід кортежу в циклі # 1. Цикл for # Заданий кортеж A = ("abc", "abcd", "bcd", "cde") # Вивести усі елементи кортежу for item in A: print(item) # 2. Цикл while # Вихідний кортеж - цілі числа A = (-1, 3, -8, 12, -20) # Обчислити кількість додатніх чисел i = 0 k = 0 # к-сть додатніх чисел while i < len(A): if (A[i]<0): k = k + 1 i = i + 1 # Вивести результат print("k = ", k) # 3. Обхід в циклі for # Заданий кортеж, що містить рядки A = ("abc", "ad", "bcd") # Сформувати новий список з елементів кортежу A, # у новому списку B, кожен елемент подвоюється B = [item * 2 for item in A] print("A = ", A) print("B = ", B)
Результат виконання програми
abc abcd bcd cde k = 3 A = ('abc', 'ad', 'bcd') B = ['abcabc', 'adad', 'bcdbcd']
⇑
9. Операція in. Перевірка входження елементу в кортеж
# Перевірка входження елементу в кортеж # Оператор in # Заданий кортеж, що містить рядки A = ("abc", "abcd", "bcd", "cde") # Ввести елемент item = str(input("s = ")) if (item in A): print(item, " in ", A, " = True") else: print(item, " in ", A, " = False")
Результат виконання програми
s = abc abc in ('abc', 'abcd', 'bcd', 'cde') = True
⇑
10. Методи роботи з кортежами
10.1. Метод index(). Пошук позиції елементу в кортежі
Щоб отримати індекс (позицію) елементу в кортежі, потрібно використати метод index(). Загальна форма виклику методу наступна
pos = T.index(item)
де
- T – кортеж, у якому здійснюється пошук;
- pos – позиція (індекс) елементу item в кортежі. Першому елементу відповідає позиція 0. Якщо елементу немає в кортежі, генерується виключна ситуація. Тому, перед використанням методу index() рекомендується робити перевірку на наявність елементу (з допомогою операції in).
Приклад. У прикладі, в переліку назв днів тижня обчислюється порядковий номер дня.
# Метод index - визначає позицію (індекс) елементу в кортежі # Заданий кортеж A = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") # Запит до вводу назви дня тижня day = str(input("Enter day: ")) # Коректно обчислити індекс if day in A: # перевірка, чи є рядок day в кортежі A num = A.index(day) print("Number of day = ", num + 1) else: num = -1 print("Wrong day.")
Результат роботи програми
d = 1
⇑
10.2. Метод count(). Кількість входжень елементу в кортеж
Щоб визначити кількість входжень заданого елементу в кортеж використовується метод count, загальна форма якого наступна:
k = T.count(item)
тут
- T – вихідний кортеж;
- k – результат (кількість елементів);
- item – елемент, кількість входжень якого потрібно визначити. Елемент може бути складеним (рядок, список, кортеж).
Приклад.
# Метод count - підрахунок кількості входжень елементу в кортеж # Заданий кортеж A = ("ab", "ac", "ab", "ab", "ca", "ad", "jklmn") d1 = A.count("ab") # d1 = 3 d2 = A.count("jprst") # d2 = 0 d3 = A.count("ca") # d3 = 1 print("d1 = ", d1) print("d2 = ", d2) print("d3 = ", d3)
Результат роботи програми
d1 = 3 d2 = 0 d3 = 1
⇑
Зв’язані теми
⇑