我有一个列表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:
用列表索引超出范围
这是我如何相信你的意思是缩进代码:
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)]
你的代码只打印生成的qazxsw POI时qazxsw POI是3本的整数倍,但不会打印最后名单,因为当Tuples_List
达到9,当它应该循环不会继续。
相反i
的,我建议在包装如果i
,检查另一种情况,continue
部分:
print
见业绩网上说明:j == 3