写点什么

Python 代码阅读(第 60 篇):列表是否包括指定的元素

作者:Felix
  • 2021 年 11 月 19 日
  • 本文字数:739 字

    阅读完需:约 2 分钟

Python代码阅读(第60篇):列表是否包括指定的元素

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码


本篇阅读的代码分别实现了判断给出的元素是否都在指定的列表中出现过,以及判断任一给出的元素是否在指定的列表中出现过。


本篇阅读的代码片段来自于30-seconds-of-python

includes_all

def includes_all(lst, values):  for v in values:    if v not in lst:      return False  return True
# EXAMPLESprint(includes_all([1, 2, 3, 4], [1, 4])) # Trueprint(includes_all([1, 2, 3, 4], [1, 5])) # False
复制代码


includes_all函数接收两个列表lstvalues,如果values中的所有元素都在lst中出现过,则返回True,否则返回False。并不对元素的出现次数做要求。


函数用for 循环遍历values中的元素,用not in关键词判断该元素是否在lst中存在。如果values中的任意一个元素在lst中不存在,就返回False,只有values中的所有元素在lst中存在,才返回True


x not in s这种形式的写法中,如果列表s中的某项等于x则结果为False,否则为True

includes_any

def includes_any(lst, values):  for v in values:    if v in lst:      return True  return False
# EXAMPLESprint(includes_any([1, 2, 3, 4], [2, 9])) # Trueprint(includes_any([1, 2, 3, 4], [8, 9])) # False
复制代码


includes_any函数类似,也是接收两个列表lstvalues,如果values中的任意元素在lst中出现过,返回True,否则返回False。并不对元素的出现次数做要求。


在该函数的for循环中,使用in关键词判断元素是在lst中存在。


x in s这种形式的写法中,如果列表s中的某项等于x则结果为True,否则为False


虽然innot in操作在通常情况下仅被用于简单的成员检测,某些专门化序列 (例如str,bytesbytearray) 也使用它们进行子序列检测:


>>> "cd" in "abcdef"True
复制代码


发布于: 35 分钟前阅读数: 4
用户头像

Felix

关注

没有看点,仅仅闲聊。欢迎关注“没看点” 2018.05.04 加入

欢迎关注个人公众号:没看点 个人主页:www.zhangfelix.com

评论

发布
暂无评论
Python代码阅读(第60篇):列表是否包括指定的元素