For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).
product
product[IterableTypeA: Iterable, IterableTypeB: Iterable](ref iterable_a: IterableTypeA, ref iterable_b: IterableTypeB) -> _Product2[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator)]
Returns an iterator that yields tuples of the elements of the outer product of the iterables.
Examples:
from std.itertools import product
var l = ["hey", "hi", "hello"]
var l2 = [10, 20, 30]
for a, b in product(l, l2):
print(a, b)
Parameters:
- IterableTypeA (
Iterable): The type of the first iterable. - IterableTypeB (
Iterable): The type of the second iterable.
Args:
- iterable_a (
IterableTypeA): The first iterable. - iterable_b (
IterableTypeB): The second iterable.
Returns:
_Product2[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from both
iterables.
product[IterableTypeA: Iterable, IterableTypeB: Iterable, IterableTypeC: Iterable](ref iterable_a: IterableTypeA, ref iterable_b: IterableTypeB, ref iterable_c: IterableTypeC) -> _Product3[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator), IterableTypeC.IteratorType[iterable_c_is_mut, origin_of(iterable_c), origin_of(iterable_c)](Copyable & Iterator)]
Returns an iterator that yields tuples of the elements of the outer product of three iterables.
Examples:
from std.itertools import product
var l1 = [1, 2]
var l2 = [3, 4]
var l3 = [5, 6]
for a, b, c in product(l1, l2, l3):
print(a, b, c)
Parameters:
- IterableTypeA (
Iterable): The type of the first iterable. - IterableTypeB (
Iterable): The type of the second iterable. - IterableTypeC (
Iterable): The type of the third iterable.
Args:
- iterable_a (
IterableTypeA): The first iterable. - iterable_b (
IterableTypeB): The second iterable. - iterable_c (
IterableTypeC): The third iterable.
Returns:
_Product3[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator), IterableTypeC.IteratorType[iterable_c_is_mut, origin_of(iterable_c), origin_of(iterable_c)](Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from all
three iterables.
product[IterableTypeA: Iterable, IterableTypeB: Iterable, IterableTypeC: Iterable, IterableTypeD: Iterable](ref iterable_a: IterableTypeA, ref iterable_b: IterableTypeB, ref iterable_c: IterableTypeC, ref iterable_d: IterableTypeD) -> _Product4[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator), IterableTypeC.IteratorType[iterable_c_is_mut, origin_of(iterable_c), origin_of(iterable_c)](Copyable & Iterator), IterableTypeD.IteratorType[iterable_d_is_mut, origin_of(iterable_d), origin_of(iterable_d)](Copyable & Iterator)]
Returns an iterator that yields tuples of the elements of the outer product of four iterables.
Examples:
from std.itertools import product
var l1 = [1, 2]
var l2 = [3, 4]
var l3 = [5, 6]
var l4 = [7, 8]
for a, b, c, d in product(l1, l2, l3, l4):
print(a, b, c, d)
Parameters:
- IterableTypeA (
Iterable): The type of the first iterable. - IterableTypeB (
Iterable): The type of the second iterable. - IterableTypeC (
Iterable): The type of the third iterable. - IterableTypeD (
Iterable): The type of the fourth iterable.
Args:
- iterable_a (
IterableTypeA): The first iterable. - iterable_b (
IterableTypeB): The second iterable. - iterable_c (
IterableTypeC): The third iterable. - iterable_d (
IterableTypeD): The fourth iterable.
Returns:
_Product4[IterableTypeA.IteratorType[iterable_a_is_mut, origin_of(iterable_a), origin_of(iterable_a)], IterableTypeB.IteratorType[iterable_b_is_mut, origin_of(iterable_b), origin_of(iterable_b)](Copyable & Iterator), IterableTypeC.IteratorType[iterable_c_is_mut, origin_of(iterable_c), origin_of(iterable_c)](Copyable & Iterator), IterableTypeD.IteratorType[iterable_d_is_mut, origin_of(iterable_d), origin_of(iterable_d)](Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from all
four iterables.
product(var iterable_a: T, var iterable_b: T) -> _Product2[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator)] where conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable)
Returns an iterator that yields tuples of the elements of the outer product of the iterables, consuming both iterables.
Args:
- iterable_a (
T): The first iterable to consume. - iterable_b (
T): The second iterable to consume.
Returns:
_Product2[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from both
iterables.
product(var iterable_a: T, var iterable_b: T, var iterable_c: T) -> _Product3[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator)] where conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable) if conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable) else conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable)
Returns an iterator that yields tuples of the elements of the outer product of three iterables, consuming all three iterables.
Args:
- iterable_a (
T): The first iterable to consume. - iterable_b (
T): The second iterable to consume. - iterable_c (
T): The third iterable to consume.
Returns:
_Product3[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from all
three iterables.
product(var iterable_a: T, var iterable_b: T, var iterable_c: T, var iterable_d: T) -> _Product4[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator)] where conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable) if conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable) else conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable) and conforms_to(T.IteratorOwnedType, AnyType & Copyable & Movable)
Returns an iterator that yields tuples of the elements of the outer product of four iterables, consuming all four iterables.
Args:
- iterable_a (
T): The first iterable to consume. - iterable_b (
T): The second iterable to consume. - iterable_c (
T): The third iterable to consume. - iterable_d (
T): The fourth iterable to consume.
Returns:
_Product4[T.IteratorOwnedType, T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator), T.IteratorOwnedType(Copyable & Iterator)]: A product iterator that yields outer product tuples of elements from all
four iterables.