Python代码阅读(第66篇):两个列表的包含关系
2021-10-27 本文已影响0人
FelixZzzz
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码实现了判断一个列表是否被另一个列表包含的功能。
本篇阅读的代码片段来自于30-seconds-of-python。
is_contained_in
def is_contained_in(a, b):
for v in set(a):
if a.count(v) > b.count(v):
return False
return True
# EXAMPLES
print(is_contained_in([1, 4], [2, 4, 1])) # True
is_contained_in
函数接收两个列表,返回列表a
中的元素是否包含在列表b
中。函数统计列表a
中各个元素的数量是否都小于等于该元素在列表b
中的数量。如果发现任一一个元素在列表b
中不存在,或者数量少于其在列表a
中的数量,函数返回False
。
和之前《Python代码阅读(第60篇):列表是否包括指定的元素》不同,is_contained_in
函数对元素的数量作出要求,不是判断元素是否在另一个列表中出现,而是判断两个列表之间的包含关系。