首页
学习
活动
专区
圈层
工具
发布

梳圈
EN

Stack Overflow用户
提问于 2016-12-06 02:56:35
回答 2查看 66关注 0票数 0

当对循环进行扁平化处理时,您将执行如下操作:

代码语言:javascript
复制
for a, b, c in itertools.product(x1, x2, x3):
    ...

但是,如何处理其中一个元素被用作参数来检索也要遍历的列表的情况呢?例如:

代码语言:javascript
复制
for a, b in itertools.product(x1, get_b_elements(a)):
    ...

这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-06 02:59:19

代码语言:javascript
复制
for a in x1:
    for b in get_b_elements(a):
       #do something with (a, b)

我只想列举一个替代方案:

代码语言:javascript
复制
for (a, b) in [(a_i, b_i) for a_i in x1 for b_i in get_b_elements(a_i)]:
    #do something with (a, b)

正如@wim注意到的,这些“扁平”循环都不是你想要的。

票数 0
EN

Stack Overflow用户

发布于 2016-12-06 03:25:58

试试这个:

代码语言:javascript
复制
alphabets = [a,b,c,d]
xs = [x1,x2,x3]

itertools.product(alphabets, xs)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40987074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档