# Glossary

**sequence:** An ordered set; that is, a set of values where each value is identified by an integer index.&#x20;

**item:** One of the values in a sequence.

**index:** An integer value used to select an item in a sequence, such as a character in a string.&#x20;

**slice:** A part of a string specified by a range of indices.&#x20;

**empty string:** A string with no characters and length 0, represented by two quotation marks.&#x20;

**immutable:** The property of a sequence whose items cannot be assigned.&#x20;

**traverse:** To iterate through the items in a sequence, performing a similar operation on each.&#x20;

**search:** A pattern of traversal that stops when it finds what it is looking for.&#x20;

**counter:** A variable used to count something, usually initialised to zero and then incremented.&#x20;

**method:** A function that is associated with an object and called using dot notation.&#x20;

**invocation:** A statement that calls a method.

**list:** A sequence of values.

**element:** One of the values in a list (or other sequence), also called items.

**index:** An integer value that indicates an element in a list.&#x20;

**nested list:** A list that is an element of another list.

list traversal: The sequential accessing of each element in a list.&#x20;

**mapping:** A relationship in which each element of one set corresponds to an element of another set. For example, a list is a mapping from indices to elements.&#x20;

**accumulator:** A variable used in a loop to add up or accumulate a result.&#x20;

**augmented assignment:** A statement that updates the value of a variable using an operator like `+=`.&#x20;

**reduce:** A processing pattern that traverses a sequence and accumulates the elements into a single result.

**map:** A processing pattern that traverses a sequence and performs an operation on each element.&#x20;

**filter:** A processing pattern that traverses a list and selects the elements that satisfy some criterion.

**object:** Something a variable can refer to. An object has a type and a value.&#x20;

**equivalent:** Having the same value.

**identical:** Being the same object (which implies equivalence).&#x20;

**reference:** The association between a variable and its value.

**aliasing:** A circumstance where two or more variables refer to the same object.&#x20;

**delimiter:** A character or string used to indicate where a string should be split.&#x20;

**tuple:** An immutable sequence of elements.

**tuple assignment:** An assignment with a sequence on the right side and a tuple of variables on the left. The right side is evaluated and then its elements are assigned to the variables on the left.&#x20;

**gather:** The operation of assembling a variable-length argument tuple.&#x20;

**scatter:** The operation of treating a sequence as a list of arguments.&#x20;

**DSU:** Abbreviation of "decorate-sort-undecorate", a pattern that involves building a list of tuples, sorting, and extracting part of the result.&#x20;

**data structure:** A collection of related values, often organised in lists, dictionaries, tuples, etc.&#x20;
