Python 代码阅读(第 8 篇):列表元素逻辑判断
本篇阅读的三份代码的功能分别是判断列表中的元素是否都符合给定的条件;判断列表中是否存在符合给定的条件的元素;以及判断列表中的元素是否都不符合给定的条件。
本篇阅读的代码片段来自于30-seconds-of-python。
every
复制代码
every
用于判断列表lst
中的元素是否都符合给定的判断条件fn
。
代码中首先使用map
返回一个迭代器,该迭代器会将判断条件fn
应用于所有的列表元素上。然后使用all
函数判断迭代器中的元素是否都为True
。
all(iterable)
接收一个可迭代对象,如果这个对象中的所有元素都为True
,则函数返回True
。注意,当该对象为空时,也返回True
。该函数等价于:
复制代码
some
复制代码
some
用于判断列表lst
列表中是否存在符合给定的条件fn
的元素。
代码中首先使用map
返回一个迭代器,该迭代器会将判断条件fn
应用于所有的列表元素上。然后使用any
函数判断迭代器中是否至少有一个元素为True
。
any(iterable)
接收一个可迭代对象,如果这个对象中有任一元素为True
,则函数返回True
。注意,当该对象为空时,返回False
。该函数等价于:
复制代码
none
复制代码
none
用于判断列表lst
中的元素是否都不符合给定的判断条件fn
。
代码中首先使用生成器表达式生成一个生成器,该生成器会将判断条件not fn
应用于所有的列表元素上。然后使用all
函数判断迭代器中的元素是否都为True
。
复制代码
版权声明: 本文为 InfoQ 作者【Félix】的原创文章。
原文链接:【http://xie.infoq.cn/article/83bb6b5cec2747c0d4d51f614】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论