Python代码阅读(第62篇):列表是否包含相同元素判断
2021-10-22 本文已影响0人
FelixZzzz
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码实现了在不考虑顺序的情况下,判断两个列表是否包含了相同的元素。
本篇阅读的代码片段来自于30-seconds-of-python。
have_same_contents
def have_same_contents(a, b):
for v in set(a + b):
if a.count(v) != b.count(v):
return False
return True
# EXAMPLES
print(have_same_contents([1, 2, 4], [2, 4, 1])) # True
have_same_contents
函数接收两个列表,如果两个列表包含相同的元素,则返回True
,否则返回False
。
函数不考虑元素出现的顺序,所以只需要计算所有元素在两个列表的个数是否一样,即可进行判断。函数在两个列表的组合上使用set()
获取元素的唯一值。再使用for
循环比较每个列表中每个唯一值的count()
,对它们进行迭代。如果任何元素的计数不匹配,则返回False
,否则返回True
。