gpt4 book ai didi

python - 不同子列表项的可能集合,每个子列表有一个元素

转载 作者:行者123 更新时间:2023-12-04 07:31:08 25 4
gpt4 key购买 nike

我正在寻找一种方法来获取列表中包含的所有子列表的单个元素的组合,而无需事先知道列表和子列表的长度。让我通过下面的两个例子来说明我的意思。我有两个列表( myList1myList2 )并且想获得两个组合集( setsCombo1setsCombo1 ):

myList1    = [['a'], [1, 2, 3], ['X', 'Y']]
setsCombo1 = [['a', 1, 'X'],
['a', 1, 'Y'],
['a', 2, 'X'],
['a', 2, 'Y'],
['a', 3, 'X'],
['a', 3, 'Y']]

myList2 = [['a'], [1, 2, 3], ['X', 'Y'], [8, 9]]
setsCombo2 = [['a', 1, 'X', 8],
['a', 1, 'X', 9],
['a', 1, 'Y', 8],
['a', 1, 'Y', 9],
['a', 2, 'X', 8],
['a', 2, 'X', 9],
['a', 2, 'Y', 8],
['a', 2, 'Y', 9],
['a', 3, 'X', 8],
['a', 3, 'X', 9],
['a', 3, 'Y', 8],
['a', 3, 'Y', 9]]
我查看了一下 itertools,但真的找不到任何合适的东西......

最佳答案

itertools.product带开箱* (几乎)这样做:

>>> from itertools import product

>>> list(product(*myList1))

[('a', 1, 'X'),
('a', 1, 'Y'),
('a', 2, 'X'),
('a', 2, 'Y'),
('a', 3, 'X'),
('a', 3, 'Y')]
要将内部元素转换为列表,我们 map :
>>> list(map(list, product(*myList1)))

[['a', 1, 'X'],
['a', 1, 'Y'],
['a', 2, 'X'],
['a', 2, 'Y'],
['a', 3, 'X'],
['a', 3, 'Y']]

关于python - 不同子列表项的可能集合,每个子列表有一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67922924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com