如何申请“或”? Python 中列表的所有值?
如何将“或”应用于 Python 中列表的所有值? 我在想类似的事情:
or([True, True, False])
或者如果可能的话:
reduce(or, [True, True, False])
How do you apply 'or' to all values of a list in Python? I'm thinking something like:
or([True, True, False])
or if it was possible:
reduce(or, [True, True, False])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
内置函数
any
可以满足您的要求:any
比reduce
具有优势,可以在序列中的后续项目中快捷地进行测试。找到一个真正的值。 如果序列是一个背后有昂贵操作的生成器,这会非常方便。 例如:如果您的 Python 版本没有
any()
、all()
内置函数,那么它们很容易实现为 Guido van Rossum 建议:The built-in function
any
does what you want:any
has the advantage overreduce
of shortcutting the test for later items in the sequence once it finds a true value. This can be very handy if the sequence is a generator with an expensive operation behind it. For example:If your Python's version doesn't have
any()
,all()
builtins then they are easily implemented as Guido van Rossum suggested:没有人提到它,但是“
or
”可以作为运算符模块中的函数使用:然后您可以像上面一样使用
reduce
。尽管在最近的Python中,总是建议使用“
any
”。No one has mentioned it, but "
or
" is available as a function in the operator module:Then you can use
reduce
as above.Would always advise "
any
" though in more recent Pythons.Python 2.5 及更高版本(文档)
Python 2.5 and up (documentation)
你可以这样做:
You can do this:
减少应该为你做,不是吗?
reduce should do it for you, shouldn't it?