2016-09-28 2 views
0

Я не могу удалить пробелы в моем списке.Как удалить пробелы в списке

invoer = "5-9-7-1-7-8-3-2-4-8-7-9" 
cijferlijst = [] 

for cijfer in invoer: 
    cijferlijst.append(cijfer.strip('-')) 

Я пробовал следующее, но он не работает. Я уже сделал список из своей строки и разделил все, но "-" теперь "".

filter(lambda x: x.strip(), cijferlijst) 
filter(str.strip, cijferlijst) 
filter(None, cijferlijst) 
abc = [x.replace(' ', '') for x in cijferlijst] 
+0

'cijferlijst = filter (lambda x: x.strip(), cijferlijst)' – ewcz

+0

Почему вы просто не разделили текст на '-'? – Kasramvd

+2

Почему не этот 'cijferlijst = invoer.split (" - ")'? Неужели я не понимаю, что вы пытаетесь сделать? –

ответ

4

Попробуйте это:

>>> ''.join(invoer.split('-')) 
'597178324879' 
+0

Почему бы не «заменить»? – Kasramvd

+0

@ Kasramvd Спасибо !!, но уже используется в другом ответе ... – coder

1

Это выглядит очень похоже на следующий вопрос: Python: Removing spaces from list objects

Ответ в том, чтобы использовать strip вместо replace. Вы пробовали

abc = x.strip(' ') for x in x 
2

Если вы хотите, чтобы цифры в строке без - используйте .replace() как:

>>> string_list = "5-9-7-1-7-8-3-2-4-8-7-9" 
>>> string_list.replace('-', '') 
'597178324879' 

Если вы хотите числа как list чисел, используйте .split():

>>> string_list.split('-') 
['5', '9', '7', '1', '7', '8', '3', '2', '4', '8', '7', '9'] 
Смежные вопросы