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

做的目的是什么my_list=list(过滤器(无,my_list))

慕容光启
2023-03-14

我在我正在阅读的一段代码中看到了下面的一行,我只是不明白它的目的:

my_list = list(filter(None, my_list))

my_list只是一个单词列表。为什么会有人选择这样做?在我看来,所有这些都会按原样返回列表。

共有1个答案

宋康安
2023-03-14

这将过滤掉my_list中的错误值,并返回一个新列表。最好用一个例子来说明:

my_list = [1, 2 , 0, 3, None, 4, False, True, [], [1], '', 'abc']

list(filter(None, my_list))
# [1, 2, 3, 4, True, [1], 'abc']

文件对此进行了解释:

筛选(函数,可迭代)
...
如果函数为无,则假定身份函数,即删除可迭代的所有错误元素。

 类似资料:
  • 过滤器是一种代码重用的技术,它可以转换 HTTP 请求的内容,响应,及头信息。过滤器通常不产生响应或像 servlet 那样对请求作出响应,而是修改或调整到资源的请求,修改或调整来自资源的响应。 过滤器可以作用于动态或静态内容。这章说的动态和静态内容指的是 Web 资源。 供开发人员使用的过滤器功能有如下几种类型: 在执行请求之前访问资源。 在执行请求之前处理资源的请求。 用请求对象的自定义版本包

  • 问题内容: 假设我的web.xml中有以下内容 如果请求以/XYZ/abc.do的形式出现,过滤器的调用顺序是什么?为什么? 问题答案: 按照其映射在web.xml中定义的顺序 如果使用注释(),则顺序似乎未定义 -您仍必须在web.xml中声明条目。

  • 问题内容: 我正在阅读“过滤器” 部分(https://docs.angularjs.org/guide/filter#stateful- filters )上的AngularJS开发人员指南,并遇到了“状态过滤器”。 该描述如下: 强烈建议不要编写有状态的过滤器,因为Angular无法优化它们的执行,这通常会导致性能问题。只需将隐藏状态公开为模型并将其转换为过滤器的参数,即可将许多有状态过滤器转

  • JavaDoc说: 我知道 C# 中的 是什么,但这个标量和 C# 标量似乎完全不同。

  • 本文向大家介绍eval是做什么的?相关面试题,主要包含被问及eval是做什么的?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 它的功能是将对应的字符串解析成js并执行,应该避免使用js,因为非常消耗性能(2次,一次解析成js,一次执行)

  • 问题内容: 大约有一百万次问答,解释了诸如之类的选项,但是如果没有任何选择,它会自己做什么呢?它只是过滤标签吗? 问题答案: 根据PHP手册: 剥离标签,可选择剥离或编码特殊字符。 根据W3Schools: 过滤条或编码不需要的字符。 该过滤器将删除可能对您的应用程序有害的数据。它用于剥离标签并删除或编码不需要的字符。 现在,这并不能告诉我们太多。我们来看一些PHP源代码。 : 现在,让我们看看如