检查列表是否包含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'] 无重复。