Tuple

In mathematics, a tuple is a finite sequence or ordered list of numbers or, more generally, mathematical objects, which are called the elements of the tuple. An n-tuple is a tuple of n elements, where n is a non-negative integer. There is only one 0-tuple, called the empty tuple. A 1-tuple and a 2-tuple are commonly called a singleton and an ordered pair, respectively. The term "infinite tuple" is occasionally used for "infinite sequences".

Tuples are usually written by listing the elements within parentheses "( )" and separated by commas; for example, (2, 7, 4, 1, 7) denotes a 5-tuple. Other types of brackets are sometimes used, although they may have a different meaning.[a]

An n-tuple can be formally defined as the image of a function that has the set of the n first natural numbers as its domain. Tuples may be also defined from ordered pairs by a recurrence starting from ordered pairs; indeed, an n-tuple can be identified with the ordered pair of its (n − 1) first elements and its nth element.

In computer science, tuples come in many forms. Most typed functional programming languages implement tuples directly as product types,[1] tightly associated with algebraic data types, pattern matching, and destructuring assignment.[2] Many programming languages offer an alternative to tuples, known as record types, featuring unordered elements accessed by label.[3] A few programming languages combine ordered tuple product types and unordered record types into a single construct, as in C structs and Haskell records. Relational databases may formally identify their rows (records) as tuples.

Tuples also occur in relational algebra; when programming the semantic web with the Resource Description Framework (RDF); in linguistics;[4] and in philosophy.[5]


Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).

  1. ^ "Algebraic data type - HaskellWiki". wiki.haskell.org.
  2. ^ "Destructuring assignment". MDN Web Docs. 18 April 2023.
  3. ^ "Does JavaScript Guarantee Object Property Order?". Stack Overflow.
  4. ^ Matthews, P. H., ed. (January 2007). "N‐tuple". The Concise Oxford Dictionary of Linguistics. Oxford University Press. ISBN 9780199202720. Retrieved 1 May 2015.
  5. ^ Blackburn, Simon (1994). "ordered n-tuple". The Oxford Dictionary of Philosophy. Oxford guidelines quick reference (3 ed.). Oxford: Oxford University Press (published 2016). p. 342. ISBN 9780198735304. Retrieved 2017-06-30. ordered n-tuple[:] A generalization of the notion of an [...] ordered pair to sequences of n objects.