检查 Python 列表中是否所有元素都唯一


Python 中的列表可以包含所有可能唯一也可能不唯一的元素。但是,对于我们需要唯一元素的场景,例如标记一个班级不同学号的出勤情况,以下是我们可以使用的方法。

使用 Set()

Python 集合是一个无序、无索引且包含唯一元素的集合。因此,我们将比较从列表创建的集合的长度与列表本身的长度。只有当列表中存在唯一元素时,它们才相等。

示例

 实时演示

# Given List
Alist = ['Mon','Tue','Wed']
print("The given list : ",Alist)

# Compare length for unique elements
if(len(set(Alist)) == len(Alist)):

   print("All elements are unique.")
else:
   print("All elements are not unique.")

输出

运行以上代码将得到以下结果:

The given list : ['Mon', 'Tue', 'Wed']
All elements are unique.

再次运行相同的程序,但不包含唯一元素。

示例

 实时演示

# Given List
Alist = ['Mon','Tue','Wed','Mon']
print("The given list : ",Alist)

# Compare length for unique elements
if(len(set(Alist)) == len(Alist)):

   print("All elements are unique.")
else:
   print("All elements are not unique.")

输出

运行以上代码将得到以下结果:

The given list : ['Mon', 'Tue', 'Wed', 'Mon']
All elements are not unique.

使用 count()

我们还可以使用内置的 count() 函数,它将计算列表中每个元素的频率。如果计数大于 1,则列表中存在重复项。

示例

 实时演示

# Given List
list1 = ['Mon','Tue','Wed','Mon']
list2 = ['Mon','Tue','Wed']


def dupcheck(x):
   for elem in x:
      if x.count(elem) > 1:
         return True
      return False

if dupcheck(list1):
   print("The given list : ", list1)
   print("There are duplicates.")
else:
   print("The given list : ", list1)
   print("No duplicates.")

if dupcheck(list2):
   print("The given list : ", list2)
   print("There are duplicates.")
else:
   print("The given list : ", list2)
   print("No duplicates.")

输出

运行以上代码将得到以下结果:

The given list : ['Mon', 'Tue', 'Wed', 'Mon']
There are duplicates.
The given list : ['Mon', 'Tue', 'Wed']
No duplicates.

更新于: 2020年9月9日

9K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.