在单独的行上打印阵列



我有一个包含以下数据的列表。

1/3/2015
4
18
43
46
55
25
3
12/30/2015
12 
36 
38 
54 
61 
22 
3

我正在尝试让一系列数字打印一行。我已经尝试过print(" ".join(series[0:8]))它只打印最后一行,如下所示

2016/12/31 1 3 28 57 67 9 2

2016/12/28 16 23 30 44 58 4 2

有人有办法打印这两行吗?

我应该使用循环来完成我正在寻找的东西吗?

如果通过"一行",您只想将所有内容都放在一行上,则删除切片操作。

print(" ".join(series))
#Out> 1/3/2015 4 18 43 46 55 25 3 12/30/2015 12 36 38 54 61 22 3

但是,如果您知道所有项目都具有相同的长度,并且希望它们位于不同的行上:

for i in range(0, len(series), 8):
print(" ".join(series[i:i+8]))
#Out> 1/3/2015 4 18 43 46 55 25 3
#Out> 12/30/2015 12 36 38 54 61 22 3

上面使用range()函数的step参数跳过 8 个元素。切片仅使用该部分在单独的行上打印它们。

下面利用列表理解来获取您的块并完成与上述相同的操作:

for section in (series[i:i + 8] for i in range(0, len(series), 8)):
print(" ".join(section))
#Out> 1/3/2015 4 18 43 46 55 25 3
#Out> 12/30/2015 12 36 38 54 61 22 3

您不必使用 for 循环,只需进行两个print调用:

print(' '.join(series[0:8]))
print(' '.join(series[8:16]))

最新更新