python删除列表中的alphanum和数字元素

python remove alphanum and numbers elements in a list

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

如何删除列表中的字母和数字元素?下面的代码没有删除,我在这里做错了什么?在研究了其他stackoverflow之后,它们删除的是字符,而不是元素本身。

1
2
3
4
5
6
ls = ['1a', 'b3', '1.45','apples','oranges','mangoes']
cleaned = [x for x in ls if x is not x.isalnum() or x is not x.isdigit()]
cleaned

result = re.sub(r'[^a-zA-Z]',"", ls)
print(result) #expected string or bytes-like object

输出应为:

1
2
['apples','oranges','mangoes']
enter code here


试试这个:

1
2
3
ls = ['1a', 'b3', '1.45','apples','oranges','mangoes']

[l for l in ls if l.isalpha()]

输出:

1
['apples', 'oranges', 'mangoes']


我会这样做:

1
2
3
4
5
6
newList = []
for x in ls:
    if x.isalpha():
        newList.append(x)

print(newList)

它对我有用。它只在元素不包含数字的情况下将其添加到新列表中。


试试这个:

1
2
3
4
5
6
ls = ['1a', 'b3', '1.45','apples','oranges','mangoes']
l = []
for i in ls:
    if not bool(re.search(r'\d', i)):
        l.append(i)
print(l)