檢查 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.
廣告