检查列表是否包含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("所有元素都是唯一的。")
else:
   print("所有元素都不都是唯一的。")

输出结果

运行上面的代码给我们以下结果-

The given list : ['Mon', 'Tue', 'Wed']
所有元素都是唯一的。

在没有唯一元素的情况下再次运行同一程序。

示例

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

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

   print("所有元素都是唯一的。")
else:
   print("所有元素都不都是唯一的。")

输出结果

运行上面的代码给我们以下结果-

The given list : ['Mon', 'Tue', 'Wed', 'Mon']
所有元素都不都是唯一的。

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("有重复项。")
else:
   print("The given list : ", list1)
   print("无重复。")

if dupcheck(list2):
   print("The given list : ", list2)
   print("有重复项。")
else:
   print("The given list : ", list2)
   print("无重复。")

输出结果

运行上面的代码给我们以下结果-

The given list : ['Mon', 'Tue', 'Wed', 'Mon']
有重复项。
The given list : ['Mon', 'Tue', 'Wed']
无重复。