blob: ca81aa611508a5644d22d4d83f19120121c3d170 [file] [log] [blame]
---
page_title: element - Functions - Configuration Language
description: The element function retrieves a single element from a list.
---
# `element` Function
`element` retrieves a single element from a list.
```hcl
element(list, index)
```
The index is zero-based. This function produces an error if used with an
empty list. The index must be a non-negative integer.
Use the built-in index syntax `list[index]` in most cases. Use this function
only for the special additional "wrap-around" behavior described below.
## Examples
```
> element(["a", "b", "c"], 1)
b
```
If the given index is greater than the length of the list then the index is
"wrapped around" by taking the index modulo the length of the list:
```
> element(["a", "b", "c"], 3)
a
```
To get the last element from the list use [`length`](/language/functions/length) to find
the size of the list (minus 1 as the list is zero-based) and then pick the
last element:
```
> element(["a", "b", "c"], length(["a", "b", "c"])-1)
c
```
## Related Functions
* [`index`](/language/functions/index_function) finds the index for a particular element value.
* [`lookup`](/language/functions/lookup) retrieves a value from a _map_ given its _key_.