Danh sách Python có thể chứa phần tử trùng lặp. Bài viết giới thiệu 3 cách lấy các giá trị duy nhất.
Cách 1: Dùng append()
Tạo danh sách rỗng, duyệt phần tử, nếu chưa có trong danh sách mới thì append.
def catch_unique(list_in):
unq_list = []
for x in list_in:
if x not in unq_list:
unq_list.append(x)
for x in unq_list:
print(x)
Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("Unique values from the list is")
catch_unique(Alist)
Kết quả: Mon Tue wed 40
Cách 2: Dùng Set
Chuyển danh sách thành set (tự loại trùng), rồi chuyển lại list.
Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
A_set = set(Alist)
New_List = list(A_set)
print("Unique values from the list is")
print(New_List)
Kết quả: [40, 'Tue', 'wed', 'Mon'] (thứ tự có thể khác)
Cách 3: Dùng numpy
Hàm np.unique() trả về mảng các giá trị duy nhất đã sắp xếp.
import numpy as np
Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("The unique values from list is: ")
print(np.unique(Alist))
Kết quả: ['40' 'Mon' 'Tue' 'wed']