给定一个多维列表(列表列表),我想得到子列表项的所有可能组合。你知道吗
例如输入:
my_list = [
['a', 'b'], ['1', '2'], ['@', '&']
]
会导致:
result = [
['a'],
['b'],
['1'],
['2'],
['@'],
['&'],
['a', '1'],
['a', '2'],
['a', '@'],
['a', '&']
['b', '1'],
['b', '2'],
['b', '@'],
['b', '&'],
['a', '1', '@'],
['a', '1', '&'],
['a', '2', '@'],
['a', '2', '&'],
...]
我试过用itertools.产品(*列表),但这会导致所有项的组合,而没有较小的组合集。看来itertools.组合, itertools.排列等等,我不太明白我在找什么。你知道吗
有没有快速的方法?你知道吗
在这种情况下,首先迭代所有可能的长度。对于每个长度,您选择列表的所有可能组合,对于每个组合,您使用
itertools.product
:这会产生:
或更优雅的格式:
相关问题 更多 >
编程相关推荐