首页 > 解决方案 > 在Python中打印列表中指定数量的项目

问题描述

我有一个清单

res = [6, 6, -1, -1, 6]

我想在用空格分隔的一行上打印第一个 v1 字符;以及用空格分隔的新行上的剩余 v2 字符。

res = [6, 6, -1, -1, 6]
restemp = res
out = []
v1, v2 = 3, 2
for iii in range(v1):
    out.append(res[iii])
for abc in range(v1):
    restemp.pop(abc)
[print(ou, end=' ') for ou in out]
[print(ttv, end=' ') for ttv in restemp]

这返回

6 6 -1 6 -1

但我希望它回来

6 6 -1
6 -1

我尝试print('\n')在两者之间添加一条语句,但随后它返回

6 6 -1

6 -1

标签: pythonalgorithmprintinglist-comprehension

解决方案


您在插入的语句中省略了end=,这意味着您将使用默认换行符。您只需要使用一个:

print()

或者

print('\n', end='')

更好的是,尝试使用以下join函数:将每个组加入以空格分隔的字符串,然后使用换行符加入:

out = ' '.join(str(k) for k in res[:v1])
tmp = ' '.join(str(k) for k in res[v2:])
result = '\n'.join(out, tmp)
print(result)

请注意,您可以将其链接到一个长命令中......然后不要这样做。


推荐阅读