匹配所有内容的python列表

Lou*_*uis 1 python filtering list-comprehension

我可能没有正确地问:我想要一个可以匹配任何列表的列表值:"反向",(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中使用list comprehension进行一些过滤.

如果我做那样的事情:

[x for x in list if x in (None,)]
Run Code Online (Sandbox Code Playgroud)

我摆脱了所有的价值观,这很好

但是我希望有同样的东西来匹配一切

我可以这样做:

[x for x in list if x not in (None,)]
Run Code Online (Sandbox Code Playgroud)

但其余部分不一致

我尝试过一些东西,但(True,)仅 举例来说1

注意,过滤的值是数字,但如果你有一些通用的东西(比如(None,)什么都不匹配),那就太好了

谢谢路易斯

Joc*_*zel 5

__contains__ 是检查序列中是否存在某些东西的神奇方法:

class everything(object):
    def __contains__(self, _):
        return True           

for x in (1,2,3):
    print x in everything()
Run Code Online (Sandbox Code Playgroud)