Py学习  »  Python

有人能帮我解决简单的列表python问题吗?

fabr0 • 5 年前 • 1343 次点击  

所以这个问题包括一个字符串列表,每个字符串有两个元素,可以是一个字母或数字,我们想创建一个函数,把这个列表作为参数/参数,并删除所有这些字符串中有一个数字,我尝试了下面的代码,但它不起作用,我希望得到任何帮助!.

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


erase(["a3", "b3", "aa"])
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54032
 
1343 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rafael Marques
Reply   •   1 楼
Rafael Marques    5 年前

如果要检查字符是否为数字,可以使用 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']

数字 结合 any :

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']