我将列表定义为:
comp = []
comp.append(["A", "B", "C", "D"])
comp.append(["E", "F", "I"])
在实际情况中,我不知道comp
或comp[x]
的长度
现在,我尝试对此运行嵌套循环,但失败了。我的意思是, 如果运行当前代码段:
for compsi in range(len(comp)):
for elemn in range(len(comp[compsi])):
print(comp[compsi][elemn])
输出是A B C D E F I
。你知道吗
我尝试的是,对于comp[0]
的每个元素,将运行完整的comp[1]
,因此,我将得到:
A E F I B F I C F I D E F I
等等
当我知道Ilen(comp)
=2时,我可以很容易地使用嵌套for循环:
for lo in range(len(comp[0])):
for l1 in range(len(comp[1])):
print(...)
但是,当我不知道comp
的长度时,我怎么能达到同样的效果呢?你知道吗
请帮忙!你知道吗
好吧,我们有comp=[['A', 'B', 'C', 'D'], ['E', 'F', 'G'], ['H'], ['I', 'J','K']]
。我们将以:
A E H I
A E H J
A E H K
A F H I
...
B E H I
B E H J
B E H K
...
D G H K
以这种方式。你知道吗
假设您的第二个列表示例
[('A', 'B', 'C', 'D'), ('E', 'F', 'G'), ('H',), ('I', 'J', 'K')]
是正确的,您可以使用itertools.product
和functools.reduce
的组合来完成您要查找的内容:这将输出:
但是在给出
[('A', 'B', 'C', 'D'), ('E', 'F', 'I')]
的第一个示例时,它将输出以下内容:我假设你的第二个例子是正确的,因为你的第一个例子背后的逻辑根本没有意义,当它扩展到一个长度大于2。你知道吗
相关问题 更多 >
编程相关推荐