# The Notion of Key-Value Pairs

**Key-value pair** is a common data type or design pattern in software engineering that refers to the implementation of a look-up table, sometimes called "dictionary". This is also a data-oriented approach to represent a function. On the other hand, all computable functions can be approximated in terms of Key-Value pairs or "dictionary".

The notion of having a generic data structure, in this case:**Key-value pair**, to represent all computable structures is useful for pedagogical purposes, particularly for learning about data science. In the past, when functions are understood in terms of relations between numerical values, Key-Value pair or "dictionary" allows people to realize that mathematical functions can also be explicitly realized not through rules or formulas, but through listing concrete value pairs. This realization means many mathematical functions can be approximated by data, or created by supplying large amount of data from an application domain, then, many of the mathematical formulation can be partially automated through machine learning. Key-value pair as a data type is a rudimentary concept for all data science practitioners.