社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

fabr0 • 5 年前 • 1339 次点击  

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

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
 
1339 次点击  
文章 [ 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']