Как удалить пустую строку из списка в python? - PullRequest
0 голосов
/ 21 апреля 2020

Если я пропущу через список oop примерно так:

print(b)
for i in list:
    if i == '':
        b.remove(i)
print(b)

Пустые строки останутся в выводе:

['','123','','','','','1','','1232','']
['123','1','','1232','']

Как мне удалить их все?

Ответы [ 2 ]

3 голосов
/ 21 апреля 2020

Полагаю, вы не должны удалять при переборе списка. Попробуйте

b = list(filter(None, b))

или

b = [s for s in b if not b == '']

или

for i in range( len(b) - 1, -1, -1) :
    if i == '':
        b.del(i)

Первое и второе являются более функциональными решениями,
, а третье перебирает список в задний ход.

1 голос
/ 21 апреля 2020

Я думаю, что ответ Аксолотля верен, но вы можете использовать его и для решения своей проблемы:

a = 'a123aaaaa1aa1232a'
b = a.split('a')
lst = []
for i in b:
    if i != '':
        lst.append(i)
print(lst)

Примечание для лучшего программиста: Не называйте свои переменные как-то легко как a и b, вместо этого используйте имя, которое имеет смысл с вашей переменной!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...