Кортеж (інформатика)
Корте́ж або n-ка — в математиці впорядкована та скінченна сукупність елементів (нескінченний кортеж має назву сімейства)[1]. Кількість елементів в кортежі визначає його довжину. Так, кортеж з двох елементів (тобто довжини 2) називається двійкою, з трьох елементів — трійкою і т. д. Кортеж з n елементів називається n-кою. Формальне означенняГоловною властивістю кортежу, яка відрізняє його від множини є те, що, по-перше, кортеж може містити декілька екземплярів одного об'єкта (в множині однакові об'єкти не розрізняються, і ця властивість також відрізняє кортеж від впорядкованої множини), та, по-друге, об'єкти в кортежі впорядковані. Це твердження формалізується таким чином:
Часто кортеж з n елементів визначається індуктивно через впорядковану пару, тобто n-ка (де n > 2) визначається як впорядкована пара її першого елемента, та кортеж з n-1 її останніх елементів:
Тобто:
Наприклад, для трійки (1,2,2) це призводить до наступного визначення:
У програмуванніУ деяких мовах програмування, наприклад, Python або ML, кортеж — особливий тип даних. У мові Python кортеж (англ. tuple) відрізняється від списку тим, що елементи кортежу не можна змінювати. a = (1, 2, 3, 2)
print a[1]
a[1] = 5 #Помилка
Ця програма на Python 2.7, яка використовує кортеж a, виведе помилку в 3-му рядку: У мовах програмування зі статичною типізацією кортеж відрізняється від списку тим, що елементи кортежу можуть належати різним типам і набір таких типів заздалегідь визначено типом кортежу, а отже і розмір кортежу також визначено. З іншого боку, колекції (списки, масиви) мають обмеження за типом збережених елементів, але не мають обмеження за довжиною. У функційних мовах некарінговані функції декількох аргументів приймають параметри у вигляді одного аргументу, що є кортежем. У мові C++ підтримка кортежів реалізована як шаблон класу std :: tuple (починаючи з C++ 11) і в бібліотеці Boost Tuple Library. Кортеж є стандартним типом в платформі .NET починаючи з версії 4.0. У базах данихУ реляційних базах даних, кортеж — це елемент відношення. Для N-арного відношення кортеж є упорядкованим набором з N значень, по одному значенню для кожного атрибута відношення. Див. такожПосилання
|