Cprod -- (writing this: itertools.product([0, 1], repeat=N )
dn
PythonList at DancesWithMice.info
Tue May 21 18:44:44 EDT 2024
On 22/05/24 07:14, HenHanna via Python-list wrote:
>
> How can i write this function Cprod (Cartesian Product) simply?
>
> (writing this out: itertools.product([0, 1], repeat=N )
>
> The value can be a list or a Tuple.
>
> cprod([0, 1], 1) => ((0) (1))
>
> cprod([0, 1], 2) => ((0,0) (0,1) (1,0) (1,1))
>
>
>
> This works:
>
> def cprod(x, c):
> if c==1: return [[i] for i in x]
> Sub= cprod(x, c-1)
> return [i for F in x for i in [[F]+R for R in Sub]]
>
>
> ---------- Is there another way to write [F]+R ???
>
> Other ways to improve it?
https://python.readthedocs.io/en/stable/library/itertools.html#itertools.product
--
Regards,
=dn
More information about the Python-list
mailing list