gpt4 book ai didi

python-3.x - 如何定义从索引集到不确定域集的函数?

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

我想像这样定义某事

list([[i0,i1,i2,i3, ..., ik]] for i0 in T[0] for i1 in T[1] for i2 in T[2] for i3 in T[3] for ...)

因为 k 是不确定的,所以我不能这样做

list([[i0,i1,i2,i3]] for i0 in T[0] for i1 in T[1] for i2 in T[2] for i3 in T[3]).

有通用的解决方案吗?

非常感谢!

最佳答案

您嵌套的 for 将生成 T 中子列表的笛卡尔积。 Itertools有一个product()函数将为您提供这些值的迭代器,您可以像这样使用它:

from itertools import product
T = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10,11, 12]]
p = product(*T)
for i in p:
print(i)

(1, 4, 7, 10)
(1, 4, 7, 11)
(1, 4, 7, 12)
(1, 4, 8, 10)
(1, 4, 8, 11)
(1, 4, 8, 12)
(1, 4, 9, 10)
(1, 4, 9, 11)
...
(3, 6, 9, 10)
(3, 6, 9, 11)
(3, 6, 9, 12)

当然,如果需要列表中的值,您也可以将其传递给 list()

关于python-3.x - 如何定义从索引集到不确定域集的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525386/

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