【发布时间】:2010-01-07 11:14:21
【问题描述】:
我可能没问对:我想要一个可以匹配任何列表的列表值:(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,) 什么都不匹配),那就太好了
谢谢 路易斯
【问题讨论】:
-
list是一个保留字,你不应该使用它作为标识符。 -
确实:这仅用于演示目的:我还是删除了它
-
也许你可以发布一个你想要的例子?假设你有
my_list = [1, 2, None, 4]和filter_list= [2]`应该是什么输出。添加您自己的输入 -
@Louis:请删除旧问题;这没有道理。实际上最好删除这个问题并重新开始一个全新的问题。
-
请注意,
(None,)并非完全匹配:它会计算None。你想什么都不匹配的是()。
标签: python filtering list-comprehension