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

清单上应用的快捷OR链

申屠晟
2023-03-14
问题内容

我想做这样的事情:

x = f(a[0]) or f(a[1]) or f(a[2]) or f(a[3]) or …

具有给定的列表a和给定的功能f。与内置any函数不同,我需要获取被认为是真实的列表的第一个值。所以因为0 or "foo" or 3.2我需要得到"foo",而不仅仅是True

当然,我可以编写一个小函数,例如

def returnFirst(f, a):
  for i in a:
    v = f(i)
    if v:
      return v
  return False

x = returnFirst(f, a)

但这可能不是最好的解决方案,因为这个SO问题中也给出了原因。正如我提到的另一个线程,我当然可以根据那里给出的解决方案使用代码,例如

x = next((f(x) for x in a if f(x)), False)

但是我看不出一种简单的方法来规避当时的双重呼吁f

有没有我不知道的简单解决方案?像

OR((f(x) for x in a))

也许?

我试图找到与此有关的其他问题,但是or在SO中搜索like这样的关键字有点麻烦,所以也许我只是找不到合适的东西。


问题答案:

我现在正在使用这个:

x = next((v for v in (f(x) for x in a) if v), False)

这是没有的号召加倍努力成语f和不引入哈克的地方,但它仍然不是很可读的(特别是如果xfa,和v比一个字母长)。

我很高兴听到更好的解决方案。



 类似资料:
  • 您可在单项训练暂停期间,以及多项运动训练过渡模式期间,在训练准备模式下访问快捷菜单。在训练准备模式中,您可通过轻触图标或使用 LIGHT(背光灯)按钮访问快捷菜单。在暂停和过渡模式中,仅可使用 LIGHT(背光灯)按钮访问快捷菜单。 快捷菜单中显示的选项取决于您选择的运动,以及是否正在使用 GPS。   节能设置: 节能设置允许您通过更改 GPS 记录速率,关闭手腕型心率测量和使用屏幕保护程序,延

  • 您可在单项训练暂停期间,以及多项运动训练过渡模式期间,在训练准备模式下访问快捷菜单。在训练准备模式中,您可通过轻触图标或使用 LIGHT(背光灯)按钮访问快捷菜单。在暂停和过渡模式中,仅可使用 LIGHT(背光灯)按钮访问快捷菜单。 快捷菜单中显示的选项取决于您选择的运动,以及是否正在使用 GPS。   节能设置: 节能设置允许您通过更改 GPS 记录速率,关闭手腕型心率测量和使用屏幕保护程序,延

  • Windows95和Windows 3.x在界面上的一个重大差别就是Windows95增加了功能强大的右键快捷菜单。在任何一个对象上按鼠标右键,就会弹出一个与所选当前对象相关的菜单,菜单中列出了一组针对当前对象的操作。在Visual Studio中就有大量这样的菜单。比如,在项目工作区中单击右键时弹出菜单,让用户选择Docking View(停泊视图)、Hide(隐藏)和Properties(属性

  • WooCommerce网站的插件一般较多,这样后台菜单会很长,想找到自己想用的功能会有困难。因此,本文介绍一种在wp admin bar增加WooCommerce admin bar快捷菜单的方法。 本文用到了自定义WordPress admin bar菜单中提到的方法。 WooCommerce admin bar快捷菜单代码 代码放在子主题的functions.php中。 if( is_user

  • 这个问题已经在这里被问到并回答了Jupyter笔记本。还有一个关于JupyterLab的建议,关于如何隐藏单元格输出,但不要清除它。 这很容易使用菜单下的

  • Web 应用清单(Web App Manifest)是一份 JSON 格式的文件,它定义了网站应用的相关信息,包括应用名称、图标、启动方式等等。当网站提供了这么一份应用程序清单,并且满足一定的生效条件之后,将具有添加到主屏幕的能力。 添加到主屏幕的网站并不等同于“添加到桌面快捷方式”。如下图所示,当网站添加到主屏幕之后,它将具有如同 Native App 一样独立的图标和名称;点击图标打开网站,资

  • 问题内容: 我可以 但是,当我这样做 我在这里想念什么? 问题答案: 问题是,不接受as参数,它必须是单独的参数。 在这里,“ splat”运算符开始起作用… 我可以

  • 查看快捷键,在设置界面中搜索 “keymap”: 设置自己的快捷键 比如将代码变更 commit ,webstorm 默认是没有配置快捷键的,我们设置个 shift + c 。 搜索 commit : 找到操作项后,添加个新的快捷键,如果快捷键有冲突,webstorm 会有提示。 默认配置下的常用快捷键 mac book 下文的 ctrl 替换成 command 键。 查找/代替 快捷键 说明 c