这个简单的Python列表问题在哪里出问题?

问题描述 投票:0回答:1

问题由一个字符串列表组成,其中每个字符串都有两个元素,可以是字母或数字,我们想创建一个函数,将该列表作为参数/参数,并删除所有具有数字的字符串在其中,我在下面尝试了此代码,但没有用。

def erase(lista):
    for word in lista:
        for letter in range (len(word)):
            if letter in [1234567890]:
                del word


erase(["a3", "b3", "aa"])
python list
1个回答
0
投票
如果要检查字符是否为数字,则可以使用isdigit函数

my_list = ["a3", "b3", "aa"] def erase(lista): only_chars = [] for word in lista: result = ''.join([w for w in word if not w.isdigit()]) if result: only_chars.append(result) return only_chars result = erase(my_list) print(result)

它将打印:

['a', 'b', 'aa']

如果要删除所有包含数字的字符串,可以将isdigitany结合使用:

my_list = ["a3", "b3", "aa"] def erase(lista): only_chars = [] for word in lista: if not any(w.isdigit() for w in word): only_chars.append(word) return only_chars result = erase(my_list) print(result)

现在,结果是:

['aa']

© www.soinside.com 2019 - 2024. All rights reserved.