Python代码阅读--列表元素逻辑判断

 更新时间:2021年09月29日 10:23:40   作者:FelixZ  
本篇阅读的三份代码的功能分别是判断列表中的元素是否都符合给定的条件;判断列表中是否存在符合给定的条件的元素;以及判断列表中的元素是否都不符合给定的条件,下面小编将在文章里详细介绍,需要的朋友可以参考下

1、every

def every(lst, fn=lambda x: x):
  return all(map(fn, lst))

# EXAMPLES
every([4, 2, 3], lambda x: x > 1) # True
every([1, 2, 3]) # True

every 用于判断列表 lst 中的元素是否都符合给定的判断条件 fn 。

代码中首先使用 map 返回一个迭代器,该迭代器会将判断条件 fn 应用于所有的列表元素上。然后使用 all 函数判断迭代器中的元素是否都为 True 。

all(iterable) 接收一个可迭代对象,如果这个对象中的所有元素都为 True ,则函数返回 True 。注意,当该对象为空时,也返回 True 。该函数等价于:

def all(iterable):
  for element in iterable:
    if not element:
      return False
  return True


2、some

def some(lst, fn=lambda x: x):
  return any(map(fn, lst))

# EXAMPLES
some([0, 1, 2, 0], lambda x: x >= 2 ) # True
some([0, 0, 1, 0]) # True

some 用于判断列表 lst 列表中是否存在符合给定的条件 fn 的元素。

代码中首先使用 map 返回一个迭代器,该迭代器会将判断条件 fn 应用于所有的列表元素上。然后使用 any 函数判断迭代器中是否至少有一个元素为 True

any(iterable) 接收一个可迭代对象,如果这个对象中有任一元素为 True ,则函数返回 True 。注意,当该对象为空时,返回 False 。该函数等价于:

def any(iterable):
  for element in iterable:
    if element:
      return True
  return False


3、none

def none(lst, fn=lambda x: x):
  return all(not fn(x) for x in lst)

# EXAMPLES
none([0, 1, 2, 0], lambda x: x >= 2 ) # False
none([0, 0, 0]) # True

none 用于判断列表 lst 中的元素是否都不符合给定的判断条件 fn 。

代码中首先使用生成器表达式生成一个生成器,该生成器会将判断条件 not fn 应用于所有的列表元素上。然后使用 all 函数判断迭代器中的元素是否都为 True

lst = [0, 1, 2, 0]

def fn(x):
  return x >= 2

type(not fn(x) for x in lst) # <class 'generator'>

到此这篇关于Python代码阅读--列表元素逻辑判断的文章就介绍到这了,更多相关Python 列表元素逻辑判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python面向对象封装操作案例详解

    Python面向对象封装操作案例详解

    这篇文章主要介绍了Python面向对象封装操作,结合具体案例形式详细分析了Python面向对象的封装、扩展等操作技巧与相关注意事项,需要的朋友可以参考下
    2019-12-12
  • 一文详解Python中PO模式的设计与实现

    一文详解Python中PO模式的设计与实现

    在使用 Python 进行编码的时候,会使用自身自带的编码设计格式,比如说最常见的单例模式等。本文将为大家介绍PageObject自动化设计模式(PO模式)的设计与实现,感兴趣的可以了解一下
    2022-06-06
  • python通过shutil实现快速文件复制的方法

    python通过shutil实现快速文件复制的方法

    这篇文章主要介绍了python通过shutil实现快速文件复制的方法,涉及Python中shutil模块的使用技巧,需要的朋友可以参考下
    2015-03-03
  • Python装饰器用法实例总结

    Python装饰器用法实例总结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python装饰器的功能、原理及常见使用方法,需要的朋友可以参考下
    2018-05-05
  • Python连接mysql数据库的正确姿势

    Python连接mysql数据库的正确姿势

    这篇文章主要为大家详细介绍了Python连接mysql数据库的正确姿势,如何使用Python连接mysql数据库,本文为大家揭晓,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • python字符串过滤性能比较5种方法

    python字符串过滤性能比较5种方法

    这篇文章主要介绍了python字符串过滤性能比较5种方法的相关资料,需要的朋友可以参考下
    2017-06-06
  • Python用selenium实现自动登录和下单的项目实战

    Python用selenium实现自动登录和下单的项目实战

    本文主要介绍了Python用selenium实现自动登录和下单的项目实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

    详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

    这篇文章主要介绍了详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 通俗的讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

    通俗的讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

    有些刚入行的朋友总是搞不清楚CUDA,cudatookit,cudnn和pytorch的关系,那么今天这篇文章用通俗易懂的话讲解了他们之间的关系,需要的朋友可以参考下,相信会对你有所帮助
    2023-03-03
  • 使用Python自制一个回收站清理器

    使用Python自制一个回收站清理器

    经常笔记本电脑的回收站存储了很多的文件,需要打开回收站全部选中进行清理。这篇文章将使用Python自制一个回收站清理器,需要的可以参考一下
    2023-03-03

最新评论