Невозможно удалить пробелы в строке с помощью Python

#python #whitespace

#Python #Пробелы

Вопрос:

Я пытаюсь избавиться от пробелов в этом списке, однако я не могу. Кто-нибудь знает, где я ошибаюсь в своем коде?

  love_maybe_lines = ['Always    ', '     in the middle of our bloodiest battles  ', 'you lay down your arms', '           like flowering mines    ', '   to conquer me home.    ']
    
    love_maybe_lines_joined = 'n'.join(love_maybe_lines)
    love_maybe_lines_stripped = love_maybe_lines_joined.strip()
    print(love_maybe_lines_stripped)

Terminal: 

Always    
     in the middle of our bloodiest battles  
you lay down your arms
           like flowering mines    
   to conquer me home.
 

Комментарии:

1. Смотрите Документы для .strip() . Это приведет только к удалению пробелов из начала и конца строки. Попробуйте 'n'.join(map(str.strip, love_maybe_lines)) .

2. …итак strip , элементы love_maybe_lines перед вами join .

3. «strip» работает только в начале и конце строки, никогда между ними. Вы должны удалить каждый элемент списка, прежде чем присоединяться к ним.

4. Я подумал, что по списку ‘n.join()’ они находятся в отдельных строках, так что пробелы теперь находятся в начале и в конце?

5. @Blenderinho «strip» не заботится о строках, он заботится только о строке в целом.

Ответ №1:

 love_maybe_lines = ['Always    ', '     in the middle of our bloodiest battles  ', 'you lay down your arms', '           like flowering mines    ', '   to conquer me home.    ']

love_maybe_lines = [item.strip() for item in love_maybe_lines]
 

Это может помочь.