当前位置: 首页 > 面试题库 >

python中是否有没有结果的地图?

潘振国
2023-03-14
问题内容

有时,我只想为条目列表执行一个函数-例如:

for x in wowList:
   installWow(x, 'installed by me')

有时我需要这些东西来进行模块初始化,所以我不想在全局名称空间中占用x之类的空间。一种解决方案是将map与lambda一起使用:

map(lambda x: installWow(x, 'installed by me'), wowList)

但这当然会创建一个不错的列表[None,None,…],所以我的问题是,是否存在没有返回列表的类似函数-因为我只是不需要它。

(当然,我也可以使用_x,因此不会留下可见的轮廓线-但地图解决方案看起来很整洁…)


问题答案:

您可以使用内置any函数将 没有return语句 的函数应用于生成器返回的任何项,而无需创建列表。可以这样实现:

any(installWow(x, 'installed by me') for x in wowList)

我发现这是您想要实现的最简洁的领域。

在内部,该installWow函数确实返回None,其False逻辑运算结果为。any基本上or是对生成器返回的所有项目应用归约运算,这None当然是全部,因此必须迭代生成器返回的所有项目。最后,它确实返回了False,但这并不需要打扰您。好处是:不会将任何列表创建为副作用。

请注意,这仅在您的函数返回计算结果为False,例如None或0的情况下有效。如果它确实返回True在某点计算的结果,例如,1则不会将其应用于迭代器中的任何其他元素。为了安全起见,将此惯用法主要用于没有return语句的函数。



 类似资料:
  • 问题内容: 在C#中,我可以说,如果x不为null,它将给我x,如果x为null,则为空字符串。我发现它对于使用数据库很有用。 如果Python在变量中找不到None,有没有办法返回默认值? 问题答案: 您可以使用运算符: 请注意,如果有任何伪造的值,包括空列表,0,空字符串或什至(午夜),这也会返回。

  • 我正在尝试从PDF文件中抓取一些数据。我正在使用class.pdf2text.php(在这里找到)(通过一些内部调整),所有工作都很好,但是我有这种非常奇怪的情况。如果我像这样运行代码: 未返回任何内容< code>$bill_date为空。如果我像这样运行代码: 然后打印的所有内容, 是一个包含preg_match结果的数组。正如你可以想象的那样,我无意输出整个内容,我只需要得到preg_mat

  • 问题内容: 没有它是否有效? 有一个标记页面中某些字段的过程,只是找到了一个页面,其中的输入字段没有按我的预期被标记。 我花了一段时间,但得出的结论是,获取表单元素然后获取字段的过程是导致这些表单丢失的原因,因为没有表单。 问题答案: 如果没有出现,则为有效,是的(至少对于html 4.01,请看17.2.1的结尾): 用于创建控件的元素通常出现在FORM元素内部,但当用于构建用户界面时也可能出现

  • 问题内容: 我创建了一个函数以插入以下内容 并创建的是 当执行上述功能时 选择funcInsert(666,13,‘2014-06-06’ 得到这个错误 错误:查询没有结果数据的目标上下文:SQL语句中的PL / pgSQL函数procgtab83(integer,integer,date)第3行 问题答案: 它可以比普通sql简单得多

  • 问题内容: 网站的JSON响应的一部分具有以下内容(…为上下文添加): 向JSON添加匿名函数有效吗?我希望每次您访问“时间”都会返回不同的值。 问题答案: 没有。 JSON纯粹是一种数据描述语言。如http://www.json.org所述,它是“轻量级数据交换格式”。-不是编程语言。 根据http://en.wikipedia.org/wiki/JSON,支持的“基本类型”为: 数字(整数,实

  • 我会给你一点背景。对于大多数操作,我很高兴,测试看起来相当稳定,有4s的隐式等待。 然而,有些时候我知道如果元素要显示在页面上,它已经存在了,所以如果例如我正在对元素列表进行操作,我希望驱动程序不要等待4s来决定每个元素它不在那里,继续前进。 所以当我可以设置驱动程序时。管理()。超时()。隐式wait(100,TimeUnit.millizes)并快速遍历列表,我想在解析完列表后将隐式wait设