列表评估为布尔值但作为列表返回

迷你手

我是 python (3.6) 的新手,我写道:

def foo(alist, blist):
    if alist or blist:
        return alist or blist

print(foo([2], []))

打印[2]

而且我试图理解:似乎一个列表被评估为False\ Trueif alist or blist但在return alist or blist它返回列表本身而不是False\ True怎么样?

是否alist or blist对两者的非空列表求值?文档中是否有针对所有这些内容编写的规则?

谢谢

胡安·迭戈·戈多伊·罗伯斯

第一个列表[2]可以被视为布尔上下文中True的第二个空列表[]相对False

以下值被视为false: ....

任何空序列,例如 '', (), []


x or y如果 x 为假,则为 y,否则为 x

这是一个短路运算符,因此它仅在第一个参数为假时才计算第二个参数

检查 docs


来自口译员

>>> ['test'] or []
['test']
>>>
>>> ['test'] or ['test2']
['test']
>>>
>>> [] or ['test2']
['test2']
>>>
>>> [] or []
[]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列表中列表的长度并返回布尔值

来自分类Dev

数组列表初始化显示为布尔值

来自分类Dev

递增存储为布尔值列表的数字

来自分类Dev

Python使用布尔值为列表中的每个项目返回一个列表,该列表与另一个列表相同

来自分类Dev

总是返回 false 作为布尔值

来自分类Dev

位向量与布尔值性能列表

来自分类Dev

基于布尔值的排序列表

来自分类Dev

在Python列表中处理布尔值

来自分类Dev

Python列表附加True布尔值

来自分类Dev

空列表和布尔值

来自分类Dev

Robotframework:如何评估从Javascript调用返回的布尔值

来自分类Dev

(Java)将字符串评估为布尔值

来自分类Dev

为引发异常的函数评估布尔值的函数方法

来自分类Dev

为引发异常的函数评估布尔值的函数方法

来自分类Dev

为什么对空的PriorityQueue的布尔值评估为True?

来自分类Dev

评估借用的布尔值

来自分类Dev

长度为n且正好为k个True的布尔值的Pythonic随机列表

来自分类Dev

为什么可以使用布尔值作为列表索引?

来自分类Dev

使列表的值在自定义函数参数中为布尔值

来自分类Dev

Java Stream迭代列表中的列表并计算布尔值

来自分类Dev

当字符串位于列表中的任何位置时返回布尔值

来自分类Dev

如果布尔值为true,则向下拉列表添加选项

来自分类Dev

检查列表中的所有项目都被设置为相同的布尔值

来自分类Dev

如果布尔值为真,则向下拉列表添加选项

来自分类Dev

使用烧瓶返回布尔值作为POST响应

来自分类Dev

返回值为布尔值的方法

来自分类Dev

如何检查布尔值列表中是否包含值?

来自分类Dev

如何检查Observable是否为空或返回布尔值

来自分类Dev

将Observable <boolean>返回为布尔值

Related 相关文章

热门标签

归档