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

Remove all items in Python list containing a number

本问题已经有最佳答案,请猛点这里访问。

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

输入:【this'、'that'、'those4423'、'42'、'13b'、'yes'、'2']

输出:【this'、【that'、【yes'】


1
2
3
4
5
6
7
>>> 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()检查字符串是否只包含字母字符。

1
2
.isaplha()
 [x for x in foo if x.isalpha()]

使用列表理解:

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