我有一个长度可能未知的列表,如下所示:
list = [[1,2], [3,4,5], [6]]
我有一个打印这些项目的 for 循环,但我也希望能够在两者之间添加一个额外的新行。
1
2
3
4
5
6
我不希望在最后一个项目之后或第一个项目之前有一个额外的新行。我有一个 for 循环,它打印出行中项目之间的空格。但是,存在 1 个或多个索引为空的情况。在那种情况下,我不想添加额外的新行。我已经设法弄清楚第一个或最后一个索引是否为空以及如何处理它,但不是中间索引。
例如上面的结果也应该可以用这个获得:
list = [[1, 2], [], [3, 4, 5], [6]]
我不确定确定这一点的最佳方法是什么。
请您参考如下方法:
像这样使用 enumerate():
for i, sub in enumerate(mylist):
if i: print() # If you are using Python 2, remove the parentheses
for x in sub:
print(x)
编辑:我有点误解了你的问题。由于您的第二个示例列表具有无效语法,因此我认为这仅意味着两个子列表。 PaulRooney 的评论已经澄清了这一点,因此您可以这样做:
should_print = False
for sub in mylist:
if should_print: print()
for x in sub:
print(x)
should_print = bool(sub)
