for循环两次或任何其他方式,以便我仅打印第一个循环元素,但从第二个循环获取值

时间:2019-01-31 06:15:59

标签: python

我有两个列表..........

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>

2 个答案:

答案 0 :(得分:2)

使用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

答案 1 :(得分:1)

您可以尝试以下方法:

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

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

输出:

     

我内在的第一手技术

     

我内心的第二次凌乱

     

我内心的第三件事