gpt4 book ai didi

python - 将嵌套列表简化为笛卡尔积

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:45 25 4
gpt4 key购买 nike

我在 Python 中有一个嵌套列表:

lst = ['alpha', ['beta', 'gamma'], ['delta', 'peta', 'lambda']]

我需要一个函数来返回一个列表,其中包含它们的笛卡尔积。好吧,我认为笛卡尔积不是一个正确的词,但仍然以合乎逻辑的方式结果看起来像:

final_lst = your_magical_function(lst)
print final_lst

'''
[['alpha','beta','delta'],
['alpha','beta','peta'],
['alpha','beta','lambda'],
['alpha','gamma','delta'],
['alpha','gamma','peta']
['alpha','gamma','lambda']]
'''

不管有没有递归的函数,都欢迎。

最佳答案

使用itertools.product ,这将要求您稍微修改输入('alpha'['alpha']):

from itertools import product

lst = [['alpha'],['beta','gamma'],['delta','peta','lambda']]

for res in product(*lst):
print(res)

>> ('alpha', 'beta', 'delta')

('alpha', 'beta', 'peta')
('alpha', 'beta', 'lambda')
('alpha', 'gamma', 'delta')
('alpha', 'gamma', 'peta')
('alpha', 'gamma', 'lambda')

关于python - 将嵌套列表简化为笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37614676/

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