Python. Кортежі. Основні поняття. Властивості кортежів




Кортежі. Основні поняття. Властивості кортежів


Зміст


Пошук на інших ресурсах:

1. Поняття кортежу. Приклади. Необхідність застосування кортежів

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

Згідно документації Python, загальна форма опису класу кортежу наступна:

class tuple([iterable])

де iterable – деяка послідовність об’єктів.

Кортежі необхідні у випадках, коли потрібно використовувати фіксовані набори об’єктів. Одним з прикладів може бути використання кортежів в якості ключів до елементів словників (ключі не можна змінювати). Також використання кортежів є важливим, якщо в задачі потрібно забезепечити підтримку цілісності, тобто кортеж не може бути змінений з іншого посилання.
Якщо в задачі потрібно використовувати колекції об’єктів, що можуть бути змінені, то для цих випадків потрібно використовувати списки.

Приклади кортежів.

() # пустий кортеж
(2.3,'ABCDE', False) # кортеж з 3-х елементів різних типів
('world', (2.88, "bestprog"), 3.141592) # вкладений кортеж
(3.88, 2,) # Кортеж з двох елементів

 

2. Властивості кортежів

Для кортежів виділяють наступні властивості:

  1. Кортежі – це впорядковані колекції об’єктів довільних типів. Колекції об’єктів впорядковані зліва направо.
  2. У кортежах доступ до елементів забезепечується за зміщенням. Кортежі підтримують операції, що використовуються на зміщенні елементів, наприклад, витягування зрізу, індексування тощо.
  3. Кортежі відносяться до категорії незмінюваних послідовностей. До кортежів неможливо застосувати операції безпосередньої зміни. Однак, якщо елементом кортежу є змінюваний елемент (наприклад список), то цей елемент можна змінюватиу кортежі.
  4. Кортежі гетерогенні. Термін “гетерогенні” означає, що кортежі можуть містити інші складені об’єкти, наприклад, списки, рядки чи інші кортежі.
  5. Кортежі підтримують довільну кількість вкладень.
  6. Кортежі мають фіксовану довжину. Якщо потрібно змінити довжину кортежа, то при цьому обов’язково створюється копія кортежа у новому місці пам’яті, довжина якої інша.
  7. Кортежі можна представляти як масиви посилань на об’єкти.

 

3. Відмінності між кортежами та списками

Між кортежами та списками можна виділити наступні відмінності:

  • кортеж формується у круглих дужках (), список формується у квадратних дужках [];
  • кортежі відносяться до незмінюваних послідовностей, списки відносяться до змінюваних послідовностей. До кортежів неможливо застосувати операції, що безпосередньо змінюють їх. До списків такі операції застосовувати можна;
  • кортежі мають фіксовану довжину (кількість елементів), списки мают змінну довжину. Якщо потрібно збільшити розмір кортежу, то потрібно створити копію;


 

4. Що є спільного між кортежами та списками?

Між кортежами та списками можна виділити наступні спільні особливості:

  1. Списки і кортежі є колекціями об’єктів або послідовностями.
  2. Списки і кортежі забезпечують впорядкування своїх об’єктів зліва-направо.
  3. Кортежі та списки можуть містити елементи (об’єкти) будь-якого типу.
  4. У кортежах та списках доступ до елементів здійснюється за зміщенням.
  5. Кортежі і списки підтримують однакові операції, що основані на використанні зміщення. Наприклад, індексування, отримання зрізу тощо.
  6. Кортежі і списки є гетерогенні. Це означає, що кортежі і списки можуть містити інші складені елементи (рядки, списки, кортежі).
  7. Кортежі і списки підтримують довільну кількість вкладень.
  8. Кортежі і списки дозволяють зберігати масиви посилань на інші складні об’єкти, які, в свою чергу також можуть бути кортежами, списками чи рядками.

 

5. Способи (операції) створення кортежу

Створити кортеж можна одним з 4 способів наведених нижче.

1. З допомогою пари пустих дужок ().

У цьому випадку створюється пустий кортеж. Наприклад

() # створюється пустий кортеж

 

2. У випадку одиночного кортежу з допомогою коми в кінці елементу, взятого у круглі дужки.

Наприклад.

(2, )
(True, )

 

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

Наприклад.

(2.5, -11, 3)
(a, True, "Tuples")

 

4. З допомогою вбудованої функції tuple().

Наприклад.

# Створення вкладених кортежів з допомогою операції =
a = (2.5, -11, 3)
b = (a, True, "Tuples") # b = ((2.5, -11, 3), True, 'Tuples')
c = tuple(b) # c = ((2.5, -11, 3), True, 'Tuples')

 

6. Приклад створення кортежу, що містить випадкові числа
# Створити кортеж з послідовності з 5 цілих чисел,
# які лежать в діапазоні від 0 до 10.

# Для використання випадкових чисел потрібно
# підключити модуль random
import random

# 1. Створити список з чисел
lst = [] # спочатку пустий список
i = 0
while i < 5:
    num = random.randint(0,10)
    lst = lst + [num]
    i = i+1

# 2. Створити кортеж з елементів списку
a = tuple(lst)

print("a = ", a) # a = (3, 0, 2, 6, 2)

Результат роботи програми

a = (4, 1, 4, 5, 7)

 

7. Приклад пошуку заданого елементу в кортежі

 

# Пошук заданого елементу в кортежі
# 1. Заданий кортеж з рядків
a = ('ab', 'abcd', 'cde', 'abc', 'def')

# 2. Ввід шуканого рядка
s = str(input("s = "))

# 3. Цикл обходу кортежу
result = False # результат
i = 0
while i < len(a): # len(a) - к-сть елементів у кортежі
    if (a[i]==s):
        result = True
        break
    i = i+1

if (result):
    print("Yes")
else:
    print("No")

 

8. Функція len(). Кількість елементів у кортежі

Для визначення довжини кортежу (кількість елементів у кортежі) використовується стандартна функція len().

Приклад.

# Функція len() - кількість елементів у кортежі

a = () # пустий кортеж
l = len(a) # l = 0

b = (1, 3, 7, 13, 'abc', True)
l = len(b) # l = 6

# Вкладений кортеж
c = (a, b, "Hello", 2.33)
l = len(c) # l = 4

 

9. Яким чином вказати що об’єкт є кортежем, який складається з одного елементу?

Щоб вказати, що об’єкт є кортежем, потрібно після елементу вказати символ ‘ , ‘ (кома). Якщо не вказати коми, то об’єкт буде сприйматись як число.

Наприклад.

# Відмінність між об'єктом, взятим в дужки () і кортежем.
# Число num1, яке має значення 255
num1 = (255)
num2 = num1 + 5 # num2 = 255 + 5 = 260 - додавання звичайних цілих чисел

# Кортеж, що містить число 255 - в кінці вказується кома
A = (255,)
# B = A + 5 - заборонено, виключна ситуація

 


Зв’язані теми