2017-02-04 3 views
-1

У меня есть список, как показано ниже:получить только цифры и буквы из списка в Python

['[', 
'Persuasion', 
'by', 
'Jane', 
'Austen', 
'1818', 
']', 
'Chapter', 
'1', 
'Sir', 
'Walter', 
'Elliot', 
',', 
'of', 
'Kellynch', 
'Hall', 
',', 
'in', 
'Somersetshire', 
',', 
'was', 
'a', 
'man', 
'who', 
','] 

Мне нужно получить только цифры и слова, как показано ниже:

['Persuasion', 
'by', 
'Jane', 
'Austen', 
'1818', 
'Chapter', 
'1', 
'Sir', 
'Walter', 
'Elliot', 
'of', 
'Kellynch', 
'Hall', 
'in', 
'Somersetshire' 
'was', 
'a', 
'man', 
'who'] 

Пожалуйста, помогите Вот.

Спасибо.

+0

Так что вы пробовали? – Arman

ответ

5

просто фильтровать список, используя список понимание и str.isalnum:

new_l = [x for x in l if x.isalnum()] 

строки, не содержащие только буквы или цифры не соответствуют (пустые строки не будет соответствовать либо, так что это тоже хорошо)

результат:

['Persuasion', 'by', 'Jane', 'Austen', '1818', 'Chapter', '1', 'Sir', 'Walter', 'Elliot', 'of', 'Kellynch', 'Hall', 'in', 'Somersetshire', 'was', 'a', 'man', 'who'] 
+0

спасибо, что это сработало. –