首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从具有特定子字符串的列表中删除元素?

如何从具有特定子字符串的列表中删除元素?
EN

Stack Overflow用户
提问于 2022-11-02 18:28:21
回答 1查看 31关注 0票数 1

我试图使用这一行代码过滤列表:

代码语言:javascript
运行
复制
list_categories = list(filter(lambda x: ('Article' not in x) and ('Biographie/Articles liés/C' not in x) and ('article' not in x ) and ('Catégorie' not in x) and ('Biographie/Articles liés/C' not in x ) and ('wikipédia:' not in x) and ('Page' not in x) , l))

基本上,我想删除任何包含文章(S)、/Article(S)或页面/页面或维基百科/维基百科(Wikipédia)的元素。

list_categories中的代码:l是一个包含维基百科文章所有类别的列表,因此我试图删除列表中包含单词Article/article/Articles/articles/wikipédia/wikipedia/Page/page的元素。

是否可以更优雅地编写这一行代码?

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 18:35:07

不要强制使用lambda,而要使用allstr.casefold用于不区分大小写的比较.

代码语言:javascript
运行
复制
STOP_WORDS = ['article'.casefold(), 'biographie/articles liés/c'.casefold(),
              'catégorie'.casefold(), 'wikipédia:'.casefold(), 'page'.casefold()]

def filterer(s):
    s = s.casefold()
    return all(stop_word not in s for stop_word in STOP_WORDS)    

list_categories = list(filter(filterer, l))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74294092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档