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