gpt4 book ai didi

python - python中的嵌套生成器函数

转载 作者:行者123 更新时间:2023-11-28 20:29:26 26 4
gpt4 key购买 nike

考虑一个元组 v = (a,b,c) 和一个生成器函数 generate(x) 从元组接收一个项目并为每个生成几个选项项目。

在元组中的每个项目上生成一组 generate(x) 结果的所有可能组合的 pythonic 方式是什么?

我可以这样做:

v = (a,b,c)
for d in generate(v[0]):
for e in generate(v[1]):
for f in generate(v[2]):
print d,e,f

但这太丑陋了,而且我需要一个通用的解决方案。

最佳答案

Python 2.6 具有函数 itertools.product()那做你想要的:

import itertools
v = (a, b, c)
for d, e, f in itertools.product(*(generate(x) for x in v)):
print d, e, f

来自文档:

Cartesian product of input iterables.

Equivalent to nested for-loops in a generator expression. For example, product(A, B) returns the same as ((x,y) for x in A for y in B).

关于python - python中的嵌套生成器函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568396/

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