【发布时间】:2020-02-28 09:16:12
【问题描述】:
在this answer中,声称
记住这一点的最好方法是列表推导式中 for 循环的顺序是基于它们在传统循环方法中出现的顺序。最外层循环首先出现,然后是内层循环。
然而,this answer, 和我自己在下面的实验似乎显示了相反的结果——即内循环首先出现。
在我的示例中,我希望 j 代表行号,而 i 代表列号。我想要 5 行 4 列 请问我缺少什么?
board = [[(j, i) for i in range(4)] for j in range(5)]
# I believe the above comprehension is equivalent to the nested for loops below
# board = []
# for j in range(5):
# new_row = []
# for i in range(4):
# new_row.append((j,i))
# board.append(new_row)
for j in range(5):
for i in range(4):
print(board[j][i], end="")
print()
【问题讨论】:
-
注意
[[(j, i) for i in range(4)] for j in range(5)]和[(j, i) for i in range(4) for j in range(5)]之间是有区别的。
标签: python for-loop list-comprehension