如何打印在多行列表的元组?

问题描述 投票:0回答:2

我有一个列表9元组。我需要打印3元组的每个一行。但是我能够只打印2行。我可以知道我在哪里出了错?

下面是在Jupyter使用的代码。

List_Tuples = [(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)] 

Tuples_List = []    # To store 3 tuples at a time and print it
j=0
i=0

while i<9:          # Total 9 tuples from index 0 to 8
    if j<3:         # To restrict 3 tuples in a row 
        Tuples_List.append(List_Tuples[i])
        j+=1
        i+=1
        continue


    print(Tuples_List)
    j=0               # Reset j=0 for next row
    Tuples_List = []  # Emptying List for storing next 3 tuples

输出是:

[(1, 1), (1, 2), (1, 3)]

[(2, 1), (2, 2), (2, 3)]

为什么它不打印[(3, 1), (3, 2), (3, 3)]

这将打印[(3, 1), (3, 2), (3, 3)]只有当我改变条件

while i <= 9:

用列表索引超出范围

python python-3.x
2个回答
0
投票

这是我如何相信你的意思是缩进代码:

List_Tuples = [(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)] 

Tuples_List = []
j=0
i=0

while i<9:
    if j<3:
        Tuples_List.append(List_Tuples[i])
        j+=1
        i+=1
        continue
    print(Tuples_List)
    j=0

它不打印的最后一块元组的原因是由于continue语句。当循环到达continue语句,它跳过回路中的所有下面的代码,并返回到循环的开始。因此,最后的打印从未发生过。我们可以通过循环结束后,打印TuplesList进行测试。

print(TuplesList)
#[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3,1), (3,2), (3,3)]

0
投票

你的代码只打印生成的qazxsw POI时qazxsw POI是3本的整数倍,但不会打印最后名单,因为当Tuples_List达到9,当它应该循环不会继续。

相反i的,我建议在包装如果i,检查另一种情况,continue部分:

print

见业绩网上说明:j == 3

© www.soinside.com 2019 - 2024. All rights reserved.