Python代码阅读(第71篇):检测一个平坦列表中是否有重复元
2021-11-02 本文已影响0人
FelixZzzz
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码
本篇阅读的代码实现了检测平坦列表中是否包含重复元素的功能。
本篇阅读的代码片段来自于30-seconds-of-python。
has_duplicates
def has_duplicates(lst):
return len(lst) != len(set(lst))
# EXAMPLES
x = [1, 2, 3, 4, 5, 5]
y = [1, 2, 3, 4, 5]
print(has_duplicates(x)) # True
print(has_duplicates(y)) # False
has_duplicates
函数接收一个列表,返回True
,如果该列表中包含重复元素,返回False
,如果该列表中不包含重复元素。
函数使用set(lst)
形成不包含重复项的列表元素的集合。计算并比较原列表的长度和集合的长度。如果长度一致,则说明列表中不包含重复元素;不一致,则说明列表中包含重复元素。
all_unique
def all_unique(lst):
return len(lst) == len(set(lst))
# EXAMPLES
x = [1, 2, 3, 4, 5, 6]
y = [1, 2, 2, 3, 4, 5]
print(all_unique(x)) # True
print(all_unique(y)) # False
all_unique
和上面函数原理一样。将!=
替换成了==
,用于判断列表中的元素是否都唯一。