我有一个包含以下数据的列表。
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
有人能同时打印两行吗?
我应该使用循环来完成我想要的吗?
答案 0 :(得分:0)
您不必使用for循环,您只需进行两个print
调用:
print(' '.join(series[0:8]))
print(' '.join(series[8:16]))
答案 1 :(得分:0)
如果通过“单行”只希望将所有内容都放在一行上,则删除slice操作。
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