Skip to main content
 首页 » 编程设计

匹配所有内容的python列表

2025年05月04日10kenshinobiy

我可能没有问对:我想要一个可以匹配任何列表的列表值:(None,) 的“逆” 但即使使用 (None,) 它也会将项目匹配为 None (我不想要)

关键是我有一个函数使用:[x for x in my_list if x[field] not in filter_list]

我想在不进行如下测试的情况下过滤所有内容或不过滤任何内容: if filter_list==(None,): return [] 和 if filter_list==('*',): return my_list

PS:我想简化导致一些错误(list 标识符)或愚蠢的事情 [x for x in x] ;)


你好,

我需要在 python 中使用列表推导式进行一些过滤。

如果我这样做:

[x for x in list if x in (None,)] 

我去掉了所有的值,这很好

但我想用同样的东西来匹配一切

我可以这样做:

[x for x in list if x not in (None,)] 

但它不会与其余的同质

我尝试了一些东西,但是例如 (True,) 只匹配 1

请注意,要过滤的值是数字,但如果您有一些通用的东西(例如 (None,) 不匹配任何内容),那就太好了

谢谢 路易斯

请您参考如下方法:

__contains__ 是检查某物是否在序列中的神奇方法:

class everything(object): 
    def __contains__(self, _): 
        return True            
 
for x in (1,2,3): 
    print x in everything()