2016-10-15 3 views
0

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

names=[': A slund\n', ': N Brenner and B Jessop and M Jones and G Macleod\n', ': C Boone\n', ': PB Evans\n', ': F Neil utitle: uThe architecture of markets}\n', ': PA Hall and D Soskice\n', '', '', '', '', '', '', '', ': EBYP HIGONNET and DS LANDES and H ROSOVSKY\n', '', '', '', '', '', '', ': DS Landes\n', '', '', '', '', '', '', '', ': DC North\n', '', '', '', '', '', '', '', ': K Polyani\n', '', '', '', '', '', ''] 

Вот мой код:

for i in names: 
    if len(i)== 0: // i=='' // len(i)<=1 
    names.remove(i) 
print names 
+0

Ну, вы не пробовали * составить список *. И что это за '//'? –

+0

2 проблемы: 1. Afaik, 0! = Пространство, поэтому ваш чек не делает то, что вы хотите. 2. Вам необходимо отменить вызов для удаления. Это не «внутри» 'if'. – Carcigenicate

+1

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

ответ

1

со списком понимания.

names_without_space = [name.replace(' ', '') for name in names] 
print(names_without_space[:3]) 
# [':Aslund\n', ':NBrennerandBJessopandMJonesandGMacleod\n', ':CBoone\n'] 
+0

Спасибо ..gotot –