首页 > 解决方案 > for 循环两次或任何替代方式,以便我只打印第一个循环元素但从第二个循环中获取值

问题描述

我有两个清单…………

a = [["My inner first"], ["My inner second", "My inner third"]] <br>
b = [["technical"], ["little messy", "something"]]

当我使用 for 循环以这种方式循环时:

for x in a:
    for xx in x:
        for xxx in b:
            for xxxx in xxx:
                print(xx)

或者

for i in range(len(a)):
    for x in a[i]:
        for xx in b[i]:
            print(x, xx)

我的预期输出应该是:

My inner first technical <br>
My inner second little messy<br>
My inner third something messy<br>

但是我的实际输出变成了:

My inner first technical <br>
My inner first little messy <br>
My inner first something <br>
My inner second technical <br>
My inner second little messy <br>
My inner second something <br>
My inner third technical <br>
My inner third little messy <br>
My inner third something <br>

或者

My inner first technical <br>
My inner second little messy <br>
My inner second something <br> 
My inner third little messy <br> 
My inner third something <br>

标签: python

解决方案


利用zip

前任:

a = [["My inner first"], ["My inner second", "My inner third"]] 
b = [["technical"], ["little messy", "something"]]

for i, v in zip(a, b):
    for j, k in zip(i, v):
        print(j, k)

输出:

My inner first technical
My inner second little messy
My inner third something

推荐阅读