Вывести указанное количество элементов в списке в Python - PullRequest
0 голосов
/ 25 марта 2020

У меня есть список

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

I попытался добавить оператор print('\n') между ними, но затем он возвращает

6 6 -1

6 -1

Ответы [ 2 ]

1 голос
/ 25 марта 2020

вы можете использовать:

print(*out)
print(*restemp)

вывод:

6 6 -1
6 -1
1 голос
/ 25 марта 2020

Вы пропустили 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)

Обратите внимание, что вы можете связать это в одну длинную команду ... а затем не делать этого.

...