(Apr-27-2019, 02:41 PM)snippsat Wrote: For Python could use itertools combinations().
import itertools as it from pprint import pprint my_dict = {'item1':['A', 'B'], 'item':['C', 'D'], 'item3':['E','F']} combinations = it.product(*(my_dict[name] for name in my_dict)) all_combo = list(combinations) print(f'size={len(all_combo)}') pprint(all_combo)
Output:size=8 [('A', 'C', 'E'), ('A', 'C', 'F'), ('A', 'D', 'E'), ('A', 'D', 'F'), ('B', 'C', 'E'), ('B', 'C', 'F'), ('B', 'D', 'E'), ('B', 'D', 'F')]
The answer is very good but unfortunately, the keys are lost, and I need them.
How can be preserved the output that PHP version is showing but using Python?, namely ...
Output:array (size=8)
0 =>
array (size=3)
'item1' => string 'A' (length=1)
'item2' => string 'C' (length=1)
'item3' => string 'E' (length=1)
1 =>
array (size=3)
'item1' => string 'A' (length=1)
'item2' => string 'C' (length=1)
'item3' => string 'F' (length=1)
2 => etc ...