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中沒有


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM