当前位置: 首页 > 知识库问答 >
问题:

通过过滤器删除无,但不删除0[重复]

常鸿朗
2023-03-14

我有一个整数和零的列表。我想只过滤掉Nones。

[int(all(sub)) for sub in zip(*lists_for_filtering)]

这将删除None,但也删除0(整数)。我想以保持0(整数)的方式修改

结果是一个列表[1,0,1,0,1,0,1,0]--

共有2个答案

柴英锐
2023-03-14

可以通过明确的理解而不是all获得您想要的内容,因为all在布尔上下文中测试值为False,并且0None求值为False

[int(all((a is not None for a in sub))) for sub in zip(*lists_for_filtering)]
皇甫展
2023-03-14

如果我理解正确,您的问题是all()函数,它将0和None都计算为False。请编写自己的布尔过滤器,该过滤器仅将None计算为False,然后重试。这样做:

def noNone(seq):
    if all(map(lambda x: x != None, seq)):
        return True
    else:
        return False 
 类似资料:
  • 问题内容: 我刚刚在android应用程序中编写了一个函数,该函数使用Java中的标准“文件”类删除文件。即: 尽管上面的过程很简单,但我一直想知道通过“ ContentResolver”执行该操作是否有任何好处。任何意见,将不胜感激。 干杯, 杰瑞德 ------------------------------------------编辑------- 这是通过Content Resolver删

  • 问题内容: 我已经设置了一个分片分配过滤器,例如: 如何删除或禁用此类设置?我尝试了包含,但后来我同时设置了两个过滤器- 包含和排除。我可以设置类似。 但是也可以设置类似以下内容的节点吗? 问题答案: 你有没有尝试过 听起来很蠢,但是我认为这就是您在Elasticsearch中取消设置的方式…

  • 删除节点内指定的消息过滤器。 调用: web3.shh.deleteMessageFilter(id) 参数: id:String, 过滤器ID,shh.newMessageFilter()返回 返回值: Boolean: 成功时返回true,失败时返回false 示例代码: web3.shh.deleteMessageFilter('2b47fbafb3cce24570812a82e6e93c

  • 我还有一个快速的SQL问题。考虑下表: 你看,这是一个特殊的情况。有些情况下,Value2和Value3都在一个条目中设置,有些情况下,Value2和Value3都设置了,有些情况下,它们都没有设置(没有重复项)。 所以问题是:如何删除重复项(通过Value1)并获得信息最多的条目?即,如果设置了Value2和/或Value3,则设置了这些条目。显然,我不能只使用“not null”,因为有些情况

  • 我想清除所有筛选规则,但保留筛选本身。 有没有直接快速的方法去做呢? 我找到的代码是: 它获取筛选器对象,我对筛选器#的选项数量是有限的。 注意:删除此筛选器,但我需要保留它。

  • 问题内容: 有没有办法从货币过滤器的输出中删除小数/分?我正在做这样的事情: 哪个输出: $ 1,000.00 相反,我想: $ 1,000 可以使用货币过滤器来完成吗?我知道我可以在数字前加一个美元符号,并且可以编写自己的过滤器,但我希望现有的货币过滤器中存在一种简单的方法。 谢谢。 问题答案: 更新 :从 1.3.0 版本开始-currencyFilter:添加fractionSize作为可选