Как удалить пробелы из списка python
Перейти к содержимому

Как удалить пробелы из списка python

  • автор:

Какой метод нужен для удаления пробелов в строке python?

Для удаления пробелов в строке в Python можно использовать метод strip() . Этот метод удаляет пробелы и другие символы, которые находятся в начале и конце строки.

Пример использования метода strip() :

s = " Пример строки с пробелами " print(s.strip()) # Вывод: "Пример строки с пробелами" 

Если вам нужно удалить пробелы только в начале строки, то можно использовать метод lstrip() , а если только в конце строки — метод rstrip() :

s = " Пример строки с пробелами " print(s.lstrip()) # Вывод: "Пример строки с пробелами " print(s.rstrip()) # Вывод: " Пример строки с пробелами" 

Также можно использовать метод replace() для замены пробелов на пустую строку:

s = " Пример строки с пробелами " print(s.replace(" ", "")) # Вывод: "Примерстрокаспробелами" 

16 декабря 2022

Если нужно удалить лишние пробелы в начале и конце строки, то достаточно использовать метод strip()

'Catch me if you can '.strip() # 'Catch me if you can' 

Если же лишние пробелы в середине строки, то придется сначала разбить строку на элементы списка с помощью метода split() , а потом собрать их обратно в строку через одиночный пробел и метод join() :

movie = 'Catch me if you can ' ' '.join(movie.split()) # 'Catch me if you can' 

Как убрать пробелы в списке

@VasylKolomiets думаю, имелись ввиду значения, которые не содержат полезной нагрузки в виде символов.

9 окт 2023 в 7:15

\x00 — символ NULL \x01 — символ START OF HEADING \x02 — символ START OF TEXT \x03 — символ END OF TEXT \x04 — символ END OF TRANSMISSION \x05 — символ ENQUIRY \x06 — символ ACKNOWLEDGE \x07 — символ BELL \x08 — символ BACKSPACE \t — символ HORIZONTAL TAB \n — символ LINE FEED \x0b — символ VERTICAL TAB

9 окт 2023 в 7:46

Пайтон позволяет писать почти по английски. Вам надо отфильтровать пустые строки? Так и пишем — filter() :

words = [' ', 'hello', ' '] filtered_words = list(filter(None, words)) print(filtered_words) 

Ну использовать list() нужно если вам нужен новый список, а если просто дальше обрабатывать в цикле поэлементно, то можно оставить в виде генератора filter(None, words) .

В то же время по определению в пайтоне пустая строка это », а это — ‘ ‘ — строка пробелов из одного пробелов )
Работу кода первого ответа можно повторить так:

words = [' ', 'hello', ' '] filtered_words = list(filter(str.strip, words)) print(filtered_words) 

Если же действительно надо убрать строки состоящие из пробелов (а не из спецсимволов в т.ч.) то пишем так:

words = [' ', 'hello', '\n'] filtered_words = list(filter(lambda x : x.strip(' '), words)) print(filtered_words) 
['hello', '\n'] 

Если есть желание — проверьте какой из ответов работает быстрее.

Как убрать пробел в строке print в Питон?

Как убрать пробел между словом и восклицательным знаком? В коде пробела нет.

Заранее спасибо, всегда выбираю Ответ-решение.

  • Вопрос задан более двух лет назад
  • 26093 просмотра

1 комментарий

Простой 1 комментарий

ramzis

Запятая делает пробел
Решения вопроса 4

SladkayaDoza

Владислав Мухин @SladkayaDoza
Обучаюсь программированию

name = input("Как вас зовут? ") print(f'Привет, !')

Ответ написан более двух лет назад
Комментировать
Нравится 6 Комментировать
lil.fxrrx @mxrdxfxrrx
flstudio20, py3.x
Можно так и не заморачиваться

name = input("Как вас зовут? ") print("Привет, "+name+"!")

Ответ написан более двух лет назад
Нравится 3 2 комментария
todoman @todoman Автор вопроса
Спасибо. Пока не знаю, что за плюсы по сторонам от имени.
lil.fxrrx @mxrdxfxrrx

todoman, эти плюсы могут добавлять содержимое переменной
почти тоже самое что и ваше print(«Привет,», name,»!»), но сейчас оно выглядит получше и может распространяться на больший круг строк

ramzis

FullStackOverflow
Лучше учись сразу делать так

print(f'Hello !') print('Hello !'.format(name))

Ответ написан более двух лет назад
Нравится 2 4 комментария
lil.fxrrx @mxrdxfxrrx
очень запарно
todoman @todoman Автор вопроса
Попробовал, спасибо.
Но почувствовал, что прыгнул через несколько ступенек – неизвестные операторы.

ramzis

todoman,
todoman,
тут все просто), один раз посмотрел и запомнил

age = 10 name = 'Мишша' print(f'Я , мне лет')

Как дойдешь до темы форматирования строк, там наверно объяснять почему лучше так не делать
print(«Привет, «+name+»!»)

lil.fxrrx @mxrdxfxrrx

Рамис, видно же что человек только начал изучать пайтон, ему еще до форматирования строк далековато, а вот этот пример со вставкой переменной будет более проще для него

Vindicar

А если нужно именно убрать вставку пробела между выводимыми значениями, то делаешь так:
print(‘Привет,’, name, ‘!’, sep=»)
При этом sep может быть любой строкой, например:
print(‘Привет,’, name, ‘!’, sep=’::’)
выведет «Привет. Вася. «

Аналогично есть параметр end, который указывает, что print() выведет после всех значений. По умолчанию это «\n» — переход на следующую строку, но можно указать end=», и тогда курсор останется на той же строке.

Как в Python удалить пробелы из строки

Строки в Python – это неизменяемые объекты. Поэтому после инициализации строки мы не можем просто так вносить изменения, добавлять или исключать какие-либо символы.

Python имеет огромный набор функций, которые можно использовать при работе со строками. Но все строковые функции возвращают новое значение, поскольку они не могут изменить исходное значение строки.

Давайте ещё раз обратим внимание на этот момент. Любая функция, которая работает со строковыми значениями в Python, возвращает новую строку, которую можно присвоить новой переменной. Только таким образом мы можем изменить исходную строку.

Наиболее часто используемые строковые функции в Python – это capitalize(), split(), count(), find(), index(), join(), replace() и другие.

В этой статье мы разберем, как в Python удалить пробелы из строки. Мы рассмотрим три метода, которые чаще всего используются с этой целью.

Предположим, у нас есть следующая строка:

PyString = ‘This is Python String \n\t’

Помимо букв, строка PyString содержит четыре пробела, символ новой строки \n и символ табуляции \t . Давайте на примерах рассмотрим, как можно удалить эти пробелы из PyString .

Как удалить пробелы из строки с помощью replace()

Как упоминалось выше, функция replace() – это одна из наиболее часто используемых строковых функций в Python. С ее помощью можно заменить определенный символ, слово или фразу в указанной строке. Синтаксис функции replace():

variableName.replace(OldString, NewString, count)

Давайте разберем представленный синтаксис подробнее.

Прежде всего, VariableName – это переменная, которая содержит исходную строку.

OldString – это слово, символ или фраза, которые необходимо заменить. NewString – это новое слово, символ или фраза, которые должны заменить старое значение в строке. Эти два аргумента являются обязательными.

Наконец, count указывает количество вхождений старого значения, которое следует заменить. Другими словами, count показывает, сколько раз нужно заменить старое значение OldString на новое NewString . Этот параметр необязателен. Если счетчик count не указан, по умолчанию будут заменены все вхождения OldString .

Указав в качестве OldString пробел, а в качестве NewString пустую строку, и пропустив параметр count , мы избавимся от всех пробелов в исходной строке PyString . Для наглядности даем пример выполнения кода в консоли:

>>> PyString = 'This is Python String \n\t' >>> PyString.replace(" ", "") 'ThisisPythonString\n\t'

Как мы видим, мы удалили все пробелы, но символы \n\t остались в строке. Если запустить print(PyString.replace(» «, «»)) , выведется строка ThisisPythonString и пустая строка следом.

Используем методы split() и join()

Следующий пример – это комбинация split() и join() — двух строковых методов Python. Функция split() разделяет строку по указанному разделителю и возвращает разделенные элементы исходной строки в виде списка. Общий синтаксис функции split() выглядит следующим образом:

variableName.split(separator, count)

Итак, давайте разбираться. VariableName – это переменная, содержащая исходную строку.

Аргумент separator определяет разделитель, который будет использоваться для разделения исходной строки. Этот аргумент необязателен. Значение по умолчанию – пробел.

Счетчик count определяет количество разделений, которое необходимо сделать. Это также необязательный аргумент. Его значение по умолчанию – это все вхождения. То есть сколько раз разделитель встречается, столько раз мы и дробим строку.

Кроме того, есть обратная функция — join(), которая принимает итерируемый объект и возвращает все его элементы, объединенные в одну строку. Ниже приведен синтаксис функции join():

variableName.join(iterable)

Рассмотрим, что здесь есть. Аргумент iterable представляет собой итерируемый объект, содержащий элементы, которые будут возвращены в виде одной строки. Этот аргумент обязателен.

VariableName – это строка, которая служит сепаратором. Когда элементы iterable будут объединены, этот сепаратор будет вставлен между ними. Если VariableName указать как пустую строку ( «» ), объединяемые элементы будут просто идти друг за другом, без разделителей.

Используем методы split() и join(), чтобы удалить пробелы из строки PyString :

>>> PyString = 'This is Python String \n\t' >>> "".join(PyString.split()) 'ThisisPythonString'

В результате мы получили то, что хотели – все пробелы удалены. Также мы удалили символы \n\t .

Как удалить пробелы из строки с помощью translate()

В последнем примере мы рассмотрим, как удалить пробелы из строки при помощи такой функции, как translate().

Функция translate() чем-то схожа с функцией replace(). Общая цель функций translate() и replace() – заменить определенный символ в заданной строке на другой символ. Однако определённые различия всё-таки есть.

Давайте посмотрим на синтаксис функции translate():

varibaleName.transalate(value)

Здесь VariableName – это переменная, содержащая строку. Аргумент value представляет собой таблицу сопоставления или символ словаря, который определяет, как выполнять замену.

Ниже приведен код с использованием функции translate() для замены пробелов в строке:

>>> PyString = 'This is Python String \n\t' >>> mytable = PyString.maketrans('','',' \n\t\r') >>> PyString.translate(mytable) 'ThisisPythonString'

Мы удалили все пробелы, а также символы \n\t .

Заключение

В Python есть несколько способов удалить пробелы в строке. В этой статье мы разобрали несколько простых для понимания примеров.

Ключевой момент, который следует иметь в виду, заключается в том, что строки в Python неизменяемы, поэтому мы не можем просто удалить или добавить какой-либо символ. Необходимо создать новую строку для хранения измененной строки.

Надеемся, данная статья была полезна для вас. Успехов в написании кода!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *