2016-11-15 2 views
0

Что такое оптимальный способ удаления всех элементов, содержащих число из большого списка строк?Удалить все элементы в списке Python, содержащем число

Вход: [ 'Это', 'Это', 'Those4423', '42', '13b' 'Да', '2']

Выход: [ 'Это', ' Это»,„Да“]

+2

Оптимальный способ, вероятно, означает, что у вас есть субоптимальные? –

+1

Вы можете в основном применить http://stackoverflow.com/questions/19859282/check-if-a-string-contains-a-number решение в понимании списка. – alecxe

ответ

2

Использование списка понимание:

[element for element in my_list if all(digit not in element for digit in "1234567890")] 
5
>>> foo = ['This', 'That', 'Those4423', '42', '13b', 'Yes', '2'] 
>>> foo1 = [x for x in foo if not any(x1.isdigit() for x1 in x)] 
>>> foo 
['This', 'That', 'Those4423', '42', '13b', 'Yes', '2'] 
>>> foo1 
['This', 'That', 'Yes'] 
>>> 

Однако вы можете использовать .isalpha(), чтобы проверить, если строка содержит алфавитный ч атракторы.

.isaplha() 
[x for x in foo if x.isalpha()] 
Смежные вопросы