删除包含数字的Python列表中的所有项目

问题描述:

从大量字符串列表中删除包含数字的所有项目的最佳方法是什么?删除包含数字的Python列表中的所有项目

输入: [ '这', '即', 'Those4423', '42', '13b' 中 '是', '2']

输出: [ '这','那是,‘是’]

+2

最佳的方式可能意味着你有次优的? –

+1

你基本上可以在列表理解中应用http://stackoverflow.com/questions/19859282/check-if-a-string-contains-a-number解决方案。 – alecxe

使用列表理解:

[element for element in my_list if all(digit not in element for digit in "1234567890")] 

>>> 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()]