python小知识---any函数

anypython的内置函数,它接收一个可迭代对象,该可迭代对象中的元素可被计算为True的时候,any就返回True

例子:

obj = {
    'a': {'a1': 12, 'a2':16},
    'b': {'b1': 22, 'b2': 23},
    'c': {'c1': 32, 'c2': 4}
}

ans = [x for x in obj if any(y < 20 for y in obj[x].values())]

print(ans)

x for x in obj中的x会遍历obj中的key,也就是a, b, c
y < 20 for y in obj[x].values()这句中的obj[x].values()会返回obj所有的键对应的值。如下图:

y呢?y是什么?打印一下看看

可以看到yobj[x].values()里面对应的值。
每当y小于20,该表达式就会计算为Trueany也会返回True,相对应的x就会被添加到最终的列表中。最后结果为

因为ac中都有小于20的值,而b中没有

posted @ 2022-04-02 19:35  yuzuki_n  阅读(757)  评论(0)    收藏  举报