Loading AI tools
упорядоченный ряд объектов Из Википедии, свободной энциклопедии
Кортеж — упорядоченный набор фиксированной длины.
Пусть даны множества , не обязательно различные.
Тогда корте́ж длины n[1][2], упорядоченный набор длины n[1], упорядоченный n-набор[2] или n-ка[1][3] — упорядоченная последовательность из n элементов где для Кортеж обозначается перечислением координат в угловых или круглых скобках[1]:
или
Элемент называется i-й координатой[1][4] (проекцией[2], компонентой[2][4]) кортежа
Число n называют длиной или размерностью кортежа[2].
Два кортежа равны, если равны их длины и соответствующие элементы[2][4]:
Пример кортежа — арифметический вектор[2].
Декартово произведение n множеств — множество всех кортежей длины n, координаты которых взяты из этих множеств[1][5][6]:
Кортежи длины 2, 3, 4, 5, … также носят названия «упорядоченная пара», «упорядоченная тройка», «упорядоченная четвёрка», «упорядоченная пятёрка» и т. д.[2]
В рамках теории множеств кортежи можно индуктивно поставить в соответствие множествам[1][7][8], например, следующим образом[1][7]:
Многие математические объекты формально определяются как кортежи. Например, ориентированный граф определяется как пара где V — это множество вершин, а E — подмножество пар в соответствующих дугам графа[9]. Точка в n-мерном пространстве действительных чисел определяется как кортеж длины n, составленный из элементов множества действительных чисел.
Ориентированный мультиграф со множеством вершин V, множеством дуг E и отношением инцидентности может быть определён как упорядоченная тройка причём тогда и только тогда, когда дуга e выходит из вершины a и заходит в вершину b[10].
В некоторых языках программирования, например, Python или ML, кортеж как тип данных встроен в язык. Пример использования кортежа в языке Python:
a = (1, 3.14, 'cat')
print(a[0]) # Напечатать первый элемент кортежа
В языках программирования со статической типизацией кортеж отличается от списка тем, что элементы кортежа могут принадлежать разным типам и набор таких типов заранее определён типом кортежа, а значит, и размер кортежа также определён. С другой стороны, коллекции (списки, массивы) имеют ограничение по типу хранимых элементов, но не имеют ограничения на длину. Так, например, в языке Rust функция может вернуть несколько значений с помощью упаковки в кортеж:
fn div_with_remainder(a: i32, b: i32) -> (i32, i32, String) {
let tmp = (a/b, a%b);
(tmp.0, tmp.1, format!("{} + {}", tmp.0, tmp.1))
}
let (res, rem, repr) = div_with_remainder(5,2);
В функциональных языках некаррированные функции нескольких аргументов принимают параметры в виде одного аргумента, являющегося кортежем.
В языке C++ поддержка кортежей реализована как шаблон класса std::tuple[11] (начиная с C++11[12]) и в библиотеке Boost Tuple Library[13].
Кортеж является стандартным типом в платформе .NET начиная с версии 4.0[14].
В реляционных базах данных кортеж — это элемент отношения. Для N-арного отношения кортеж представляет собой упорядоченный набор из N значений, по одному значению для каждого атрибута отношения, то есть запись (строку) таблицы, если использовать наиболее популярное представление (графическую/физическую интерпретацию) отношения как таблицы.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.