Python程式列印列表中唯一值


列表是Python中內建的一種資料結構,其功能類似於動態大小的陣列。列表透過將元素放在方括號“[元素1,元素2,……]”中來建立。列表中的元素是有索引的,索引從[0]開始。

列表具有以下特性:

  • 列表是可變的,這意味著可以在建立列表後新增、刪除或更改列表中的元素。

  • 列表是有序的,因此向列表中新增新元素不會改變現有元素的順序。

  • 列表允許輸入重複元素,因為每個元素都有唯一的索引。

  • 單個列表可以包含多種資料型別。

現在,讓我們看看使用Python程式列印列表中唯一值的各種方法:

使用set()方法獲取唯一值

在Python中,set()方法只儲存其中存在的每個元素的一個副本。當包含重複元素的列表轉換為集合時,只會儲存重複值的單個副本。然後可以將集合轉換回列表,以建立僅包含唯一值的列表。

示例

以下是使用set()方法從列表中列印唯一值的示例:

def unique_numbers(duplicate): # converting list to set to store unique values unique_numbers_set = set(duplicate) # converting the set back to a list unique_numbers_list = list(unique_numbers_set) return unique_numbers_list duplicate_list = [1, 2, 3, 4, 1, 2, 5, 6, 6, 6] print(unique_numbers(duplicate_list))

輸出

以下是上述程式碼的輸出:

[1, 2, 3, 4, 5, 6]

使用list.append()和for迴圈獲取唯一值

Python中的append()方法用於將元素新增到列表的最後一個索引。首先建立一個空列表來儲存包含重複值的列表的唯一元素。

for迴圈與if條件一起使用,以檢查第i個位置的元素是否存在於空列表中。如果元素不存在,則將其新增到列表中。因此,只有唯一元素存在,因為如果遇到重複項,if條件將失敗,並且不會新增重複元素。

示例

以下是使用list.append()和for迴圈從列表中獲取唯一值的示例:

def unique_fruits(fruit): # create an empty list unique_fruit = [] # for loop to traverse the list elements for traverse in fruit: # check if element not present in list if traverse not in unique_fruit: unique_fruit.append(traverse) # append the unique element return unique_fruit fruits = ['apple', 'orange', 'mango', 'apple', 'orange', 'mango'] print(unique_fruits(fruits))

輸出

以下是上述程式碼的輸出

['apple', 'orange', 'mango']

使用numpy.unique()方法獲取唯一值

NumPy是支援多維陣列物件並主要用於對大型資料集進行高階數學運算以進行科學計算的Python庫。

numpy.unique()方法是NumPy庫的內建方法,用於按排序順序返回陣列中唯一的值。將重複列表轉換為陣列後,使用unique()方法刪除重複項,然後可以將陣列轉換回列表。

示例

以下是使用numpy.unique()方法從列表中獲取唯一值的示例:

import numpy as np def unique(duplicate): # create an array from the list array = np.array(duplicate) # unique method returns in unique elements in sorted order unique_elements = np.unique(array) # convert the array to list sorted_unique_list = list(unique_elements) return sorted_unique_list duplicate_list = [8, 4, 2, 4, 2, 8, 6, 6] print(unique(duplicate_list))

輸出

以下是上述程式碼的輸出:

[2, 4, 6, 8]

更新於:2022年11月23日

3K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告