檢查 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+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告