Коли ми говоримо про структури даних, поняття кортеж. Цей термін, який широко використовується в математиці, програмуванні та базах даних, є ключовим для розуміння того, як сучасні мови керують групами інформації. У цій статті ми детально розберемося, що таке кортеж, його характеристики та як вони використовуються в різних мовах програмування, таких як Python, Visual Basic і навіть у реляційних базах даних.
Кортеж, по суті, є a впорядкована послідовність значень. Однак, на відміну від інших типів збірок, таких як списки, він має особливість, яка робить його дуже корисним у певних сценаріях: його незмінність. Це означає, що після створення елементи, які складають кортеж, неможливо змінити. Ця функція особливо ефективна, коли ми хочемо переконатися, що дані не змінюються випадково чи навмисно. Але перш ніж заглиблюватися в його використання та характеристики, корисно зрозуміти його походження та причину його термінології.
Походження та узагальнення кортежів
Термін кортеж походить від математичного узагальнення таких термінів, як дует (два елементи), потрійний (три стихії) і так далі. Звідти було встановлено, що послідовність n елементів (n є цілим числом) називається a n-кортеж, як спосіб групування фігур або даних. Ця назва була розширена для використання в програмуванні та математиці, оскільки кортежі дозволяють працювати з кінцевою кількістю елементів, зберігаючи їх порядок і структура.
У математиці, кортежі Їх також можна розглядати як розробку впорядкованих пар, де набір вхідних даних може бути визначений різними рівнями групування. Таким чином, а n-кортеж з більш ніж двома елементами його можна представити як впорядковану пару першого запису та підкортежу, що містить решту записів. Ця ідея організації була перенесена в світ програмування, де кортежі Вони є надзвичайно потужним і гнучким інструментом.
Основні характеристики кортежів
The кортежі Вони визначаються рядом характеристик, які роблять їх унікальними порівняно з іншими структурами даних:
- Незмінність: Після створення елементи кортежу неможливо змінити. Це означає, що ми не можемо перепризначити значення певній позиції в кортежі. Наприклад, якщо кортеж містить значення 3 у своєму першому елементі, він продовжуватиме зберігати це значення протягом усього свого життя.
- Замовлення: Елементи в кортежі зберігаються в певному порядку. На відміну від багатьох інших колекцій, таких як набори, порядок введення елементів не є випадковим. Порядок важливий і буде дотриманий, коли ми взаємодіємо з кортежем.
- Різні види: На відміну від інших типів даних, таких як масиви, кортежі можуть містити елементи різних типів. Цілком допустимо, щоб кортеж включав як цілі числа, рядки, так і логічні значення.
- Доступ через індекси: Як і списки, кортежі дозволяють отримати доступ до окремих елементів через індекси. Ці індекси зазвичай починаються з числа 0. Крім того, оскільки кортежі є порівнянний, можна перевірити зв’язки між ними на основі значення їхніх елементів.
Ці характеристики роблять кортежі Вони ідеально підходять для ситуацій, коли нам потрібно згрупувати різнорідні дані та гарантувати, що вони випадково не зміняться під час виконання програми. Наприклад, кортеж буде відповідним вибором для збереження координат (x, y) на площині, оскільки ці значення не слід змінювати після визначення.
Використання кортежів у мовах програмування
Кортежі в Python
У Python, кортежі Вони є дуже універсальною та широко використовуваною структурою даних. Вони визначаються за допомогою дужок () і відокремлюючи елементи комами. Особливістю кортежів у Python є те, що вони, крім незмінності, можуть містити елементи різних типів:
>>> t = (1, 'dos', 3)
У цьому прикладі ми маємо a кортеж з трьома елементами: ціле число, текстовий рядок і інше ціле число. Якщо ми спробуємо змінити один із його елементів, наприклад перепризначити значення першого числа, Python поверне помилку:
>>> t[0] = 'uno'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
Неможливість модифікації кортежів робить їх дуже корисними елементами, коли ми хочемо захистити наші дані від випадкових змін.
Операції з кортежами в Python
Деякі операції, які ми можемо виконувати з кортежами в Python, подібні до тих, які ми можемо виконувати зі списками:
- Доступ через індекси: Ми можемо отримати доступ до елементів кортежу за допомогою відповідного індексу. Як уже згадувалося, індекси у Python вони починаються з 0.
- Нарізка або нарізка: За допомогою методу можна витягти частини кортежу частина. Наприклад, ми можемо отримати підкортеж з елементами в позиціях 1 і 2 кортежу, який ми створили раніше:
>>> t[1:3]
Результатом буде новий кортеж з елементами:
("два", 3)
Маніпуляції кортежами: Хоча кортежі незмінні, і ми не можемо змінювати їх елементи безпосередньо, можна перепризначити кортеж новій змінній або об’єднати кілька кортежів, щоб створити новий. Наприклад, ми можемо додати два кортежі за допомогою оператора +:
>>> t = (1, 2) + (3, 4)>>> t(1, 2, 3, 4)
Кортежі в реляційних базах даних
У сфері баз даних a кортеж це рядок у таблиці реляційної бази даних. Кожен стовпець у таблиці містить значення, пов’язане з кортежем.
Наприклад, у таблиці гравців відеоігор кожен рядок може представляти кортеж із такою структурою:
(Jugador: 'Luis', Puntuación: 25)
Тут кортеж містить два значення: ім’я гравця та його рахунок. У цьому контексті кортежі дуже корисні, оскільки вони дозволяють узгоджено асоціювати різні типи даних (наприклад, рядки та цілі числа, як ми бачили).
Розширені приклади кортежу
У деяких мовах програмування, наприклад Візуальний Бейсік, кортежі можна легко створити за допомогою дужок і набору значень, розділених комами. Крім того, Visual Basic дозволяє використовувати іменовані кортежі, які дають нам можливість призначати імена кожному елементу в кортежі.
Наприклад, a двоелементний кортеж може бути логічним значенням і текстовим рядком:
Dim holiday = (#07/04/2017#, "Independence Day", True)
У цьому випадку було створено кортеж із трьох елементів, де перший — дата, другий — рядок, а третій — логічне значення.
Кортежі та їх ефективність
Інший аспект, про який слід пам’ятати, полягає в тому, що кортежі, будучи незмінними, є відносно більш ефективними з точки зору часу та пам’яті, ніж списки. Це пояснюється тим, що, будучи незмінною, мова програмування не повинна керувати своєю внутрішньою структурою так само, як це було б зі змінним списком. Ось чому кортежі є кращими, коли потрібна більша ефективність або коли дані не будуть змінені.
Перетворення між списками та кортежами
Нарешті, у багатьох мовах програмування можна перетворити список на a кортеж і навпаки. У Python це можна легко зробити за допомогою попередньо визначених функцій кортеж () y список ().
>>> l = [1, 2, 3]>>> t = tuple(l)>>> t(1, 2, 3)
Так само ми можемо перетворити кортеж на список:
>>> t = (1, 2, 3)>>> l = list(t)>>> l[1, 2, 3]
Ця гнучкість дозволяє нам використовувати структуру даних, яка найбільше підходить у кожному випадку відповідно до потреб програми.
Коротко, кортежі Вони є важливим інструментом у програмуванні та обробці складних даних. Завдяки своїй незмінності та здатності групувати різнорідні дані, вони є надзвичайно корисною структурою в різноманітних контекстах, від оптимізації алгоритму до представлення даних у реляційних базах даних. Якщо вам потрібен тип даних, який залишається незмінним під час виконання вашої програми, кортеж є чудовим вибором.