# cartesian – returns the cartesian product of lists

- Synopsis

- Parameters

- Examples

- Return Values

- Status

## Synopsis

- Takes the input lists and returns a list that represents the product of the input lists.

- It is clearer with an example, it turns [1, 2, 3], [a, b] into [1, a], [1, b], [2, a], [2, b], [3, a], [3, b]. You can see the exact syntax in the examples section.

## Parameters

Parameter | Choices/Defaults | Configuration | Comments
--- | --- | --- | ---
_raw - / required |  |  | a set of lists

## Examples

    - name: Example of the change in the description
      debug: msg="{{ [1,2,3]|lookup('cartesian', [a, b])}}"

    - name: loops over the cartesian product of the supplied lists
      debug: msg="{{item}}"
      with_cartesian:
        - "{{list1}}"
        - "{{list2}}"
        - [1,2,3,4,5,6]

## Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key | Returned | Description
--- | --- | ---
_list lists |  | list of lists composed of elements of the input lists

## Status

- This lookup is not guaranteed to have a backwards compatible interface. [preview]

- This lookup is maintained by the Ansible Community. [community]

### Authors

- UNKNOWN

Hint

If you notice any issues in this documentation, you can edit this document to improve it.

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.