Как убрать последний пробел из напечатанной строки в python3? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу удалить последний пробел из напечатанной строки.

пример)

list=[1,2,3,4]
for i in range(2):
    print(list[i], end=" ")
>>> 1 2 

В печатной строке стоит один пробел после «2». Как я могу изменить код, чтобы удалить последний пробел?

Ответы [ 5 ]

1 голос
/ 16 мая 2019

Вы также можете использовать «распаковку списка», аналогичную Распаковка списков аргументов в сочетании со слайсами.

Например:

print(*list[:2])

Возвраты:

1 2

+ символ новой строки \n

Чтобы удалить символ \n, вы можете использовать этот код.

print(*list[:2], end="")
0 голосов
/ 16 мая 2019
list=[1,2,3,4]
for i in range(2):
    if  i == max(range(2)):
        print(list[i])
    else:
        print(list[i], end=" ")

1 2

Если вы имеете в виду, что вы всегда хотите вырезать последний пробел, но оставьте остальные, как насчет добавления if?

0 голосов
/ 16 мая 2019

Пробел вызван аргументом end = " " в функции печати.По сути, это говорит программе Python о добавлении " " (blank) вместо новой строки после каждой печати.Таким образом, вы можете либо удалить его, либо сделать что-то подобное в цикле for.

list = [1, 2, 3, 4]
for i in range(2) :
     if (i != range(2)[-1]) :
          print (list[i], end = " ")
     else :
          print (list[i], end='')

Это говорит программе python не использовать лишний пробел или символ новой строки в конце цикла for.

0 голосов
/ 16 мая 2019

Вам не нужен цикл for для этого

a=[1,2,3,4]
b=' '.join(map(str,a[:2])) 

сделает

0 голосов
/ 16 мая 2019

Вы можете сделать это " ".join(map(str, [list[i] for i in range(2)])).

...