Python Itertools:`对于b中的a:对于b中的c`

Python Itertools:`对于b中的a:对于b中的c`,python,nested-loops,Python,Nested Loops,我只是浏览了itertools文档,寻找一种摆脱嵌套for循环的方法,如下所示: for a in b: for c in b: <statement> 对于b中的a: 对于b中的c: 然而,我什么也找不到。没有这个功能吗?我应该保留嵌套循环吗?是的,有。它叫 例如: import itertools for item in itertools.product([0, 1], repeat = 2): print item 输出 (0, 0)

我只是浏览了
itertools
文档,寻找一种摆脱嵌套for循环的方法,如下所示:

for a in b:
    for c in b:
        <statement>
对于b中的a:
对于b中的c:
然而,我什么也找不到。没有这个功能吗?我应该保留嵌套循环吗?

是的,有。它叫

例如:

import itertools

for item in itertools.product([0, 1], repeat = 2):
    print item
输出

(0, 0)
(0, 1)
(1, 0)
(1, 1)
相当于

b = [0, 1]
for a in b:
    for c in b:
        print (a, c)
有。它叫

例如:

import itertools

for item in itertools.product([0, 1], repeat = 2):
    print item
输出

(0, 0)
(0, 1)
(1, 0)
(1, 1)
相当于

b = [0, 1]
for a in b:
    for c in b:
        print (a, c)
您可以使用:

理想情况下,
b
具有所有值。因此,这意味着:

for a in b:
    for c in a:
        print c
工作。您真正想做的是展平列表,它实际上包含在中。

您可以使用:

理想情况下,
b
具有所有值。因此,这意味着:

for a in b:
    for c in a:
        print c


工作。您真正想要做的是将列表展平,它实际上包含在.itertools.product(b,repeat=2)中a,c的。有几个答案似乎适用于这一点。也许,如果问题的更改如此剧烈地改变了它的含义,那么应该实施一种处理方法。回滚到原始版本,因为它在itertools.product(b,repeat=2)中剧烈地改变了问题a,c的含义:…或
itertools.product(b,repeat=2)
。原来的问题似乎是在b中使用了c的
在第二行。有几个答案似乎适用于这一点。也许如果问题的改变如此剧烈地改变了其含义,那么应该实施一种处理方法。在任何人否决此答案之前,由于问题的含义发生了剧烈的变化,因此回滚到原始版本,请注意问题已被更改!这个答案正确地解决了原来的问题。@wheaties谢谢你澄清这一点。@wheaties谢谢男士:)但我现在必须删除这个答案:'(在任何人否决这个答案之前,请注意问题已经更改!这个答案正确地解决了原来的问题。@wheaties谢谢你澄清这一点。@wheaties谢谢男士:)但我现在必须删除这个答案:'(很好的答案,即将发布:)@aIKid谢谢你D@GamesBrainiac你这个石头:)@thefourtheye谢谢你,伙计!:D@GamesBrainiac请注意,我回到了原来的版本,因为根据这个答案,meta.stackoverflow.com/a/106812/235416问题的含义发生了巨大的变化。伟大的答案,即将发布如下:)@aIKid谢谢你D@GamesBrainiac你这个石头:)@thefourtheye谢谢你,伙计!:D@GamesBrainiac请注意,根据这个答案meta.stackoverflow.com/a/106812/235416,我回滚到了原始版本,因为它极大地改变了问题的含义