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

от admin

Python: удаление пробелов из объектов списка [дубликат]

У меня есть список объектов, добавленных из базы данных mysql и содержащих пробелы. Я хочу удалить пробелы, как показано ниже, но код, который я использую, не работает?

задан 12 июля ’10, 20:07

Или исправить тип поля базы данных 😉 — ChristopheD

@ChristopheD: Какой тип базы данных «поле» заставляет ведущий пробелы? Лучше исправить разработчика и тестировщика. — John Machin

@Johan Machin: я пропустил ведущее место во второй записи (считаю слишком быстрым, упс) — ChristopheD

7 ответы

Строки в Python являются неизменяемыми (это означает, что их данные не могут быть изменены), поэтому метод замены не изменяет строку — он возвращает новую строку. Вы можете исправить свой код следующим образом:

Однако лучший способ достичь своей цели — использовать понимание списка. Например, следующий код удаляет начальные и конечные пробелы из каждой строки в списке, используя strip :

Создан 13 июля ’10, 06:07

+1 за раздевание. -1 для замены(‘ ‘,») — С.Лотт

ОП хочет удалить все места, а не только трейлеры, так почему -1 за replace(‘ ‘,») ? Ни один из методов «раздевания», тем более другой встроенные методы str, сделайте работу (не обращая внимания на Руба Голдберга, как ».join(s.split()) ). — Майк Дезимоун

Ах, так это не текстовое поле, в котором для разделения тысяч, миллионов и т. д. используются пробелы, которое определяется как текст, потому что оно может содержать случайное ключевое слово? Хорошо, я пропустил это. — Майк Дезимоун

Второй элемент в списке OP имеет 5 символов. Начальный и конечный пробел — Джон Ла Рой

Поскольку в примере нет внутренних пробелов, я с подозрением отношусь к удалению внутренних пробелов. — С.Лотт

Python: удаление пробелов из объектов списка

У меня есть список объектов, добавленных из базы данных mysql и содержащих пробелы. Я хочу удалить пробелы, такие как ниже, но код im с помощью не работает?

7 ответов

строки в Python неизменяемы (что означает, что их данные не могут быть изменены), поэтому метод replace не изменяет строку — он возвращает новую строку. Вы можете исправить свой код следующим образом:

однако лучший способ достичь вашей цели-использовать понимание списка. Например, следующий код удаляет начальные и конечные пробелы из каждой строки списка с помощью strip :

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

Есть несколько способов удалить пробелы из строки в Python. Python String неизменяем, поэтому мы не можем изменить его значение. Любая функция, которая управляет строковым значением, возвращает новую строку, и мы должны явно назначить ее строке, иначе строковое значение не изменится.

Допустим, у нас есть пример строки, определенной как:

Эта строка имеет разные типы пробелов, а также символы новой строки.

Читать:
Как ограничить числа в питоне

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

strip()

Строковая функция strip() удаляет начальные и конечные пробелы.

Если вы хотите удалить только начальные или конечные пробелы, используйте вместо них функцию lstrip() или rstrip().

replace()

Мы можем использовать replace(), чтобы удалить все пробелы из строки. Эта функция также удалит пробелы между словами.

join() с split()

Если вы хотите избавиться от всех повторяющихся пробелов и символов новой строки, вы можете использовать функцию join() с функцией string split().

translate()

Если вы хотите избавиться от всех пробелов, а также от символов новой строки, вы можете использовать строковую функцию translate().

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

Я просматривал форумы и вопросы, заданные на сайте о моем вопросе, и никто из них, похоже, не работает!

Я занимаюсь программой python 3 в школе, где хочу удалить пробелы из списка чисел от 1 до 1000. Я сделал текстовый документ с номерами и импортировал их в список, но когда они помещаются в В список входят пробелы, которые у меня не могут быть.

Я пробовал все методы, и они, похоже, разбивают каждое число, но они не остаются вместе в исходном количестве.

Вот что дает мне результат: [‘0’, ‘ ‘, ‘1’, ‘ ‘, ‘2’, ‘ ‘, ‘3’, ‘ ‘, ‘4’, ‘ ‘, ‘5’, ‘ ‘, ‘6’, ‘ ‘, ‘7’, ‘ ‘] и так далее.

Можете ли вы помочь мне решить эту проблему?

6 ответов

Кажется, что вы просто сделали опечатку в коде: вы проверяете, является ли элемент пустой строкой » , где вы действительно хотели проверить, является ли это пробелом ‘ ‘ .

Однако удаление элементов из списка при повторении этого же списка не является хорошей практикой и может привести к неожиданным результатам. В этом случае он работает, но даже не привык. Вместо этого используйте список, чтобы отфильтровать нежелательные элементы.

Если вы также хотите преобразовать числовые строки в фактические числа, используйте это:

Однако, похоже, есть еще одна проблема с тем, как вы читаете файл. Вы читаете все содержимое файла в одну строку, и я могу предположить, что это выглядит так: «1 2 3 4. 11 12 13. 451 452. » . Затем вы преобразовываете каждый символ из этой строки в число, т.е. Вместо 451, 452 вы получаете ‘4’, ‘5’, ‘1’, ‘ ‘, ‘4’, ‘5’, ‘2’ , Вместо повторения каждого символа сначала split строку

Таким образом, вам даже не нужно будет удалять пробелы, так как они уже удалены с помощью split .

Вы можете сделать все это в одной (ну, двух) строках с помощью метода » with и «единого списка»:

Похожие статьи