Computer >> Máy Tính >  >> Lập trình >> Python

Nhận các giá trị duy nhất từ ​​một danh sách bằng Python

Danh sách trong python là một số mục được đặt trong [] có thể có hoặc không cùng kiểu dữ liệu. Nó cũng có thể chứa các bản sao. Trong bài viết này, chúng ta sẽ xem cách chỉ trích xuất các giá trị duy nhất từ ​​một danh sách.

Với append ()

Trong cách tiếp cận này, trước tiên chúng ta sẽ tạo một danh sách trống mới và sau đó chỉ tiếp tục bổ sung các phần tử vào danh sách mới này nếu nó chưa có trong danh sách mới này. Vòng lặp for được sử dụng cùng với not in condition. Nó kiểm tra sự tồn tại của phần tử đến và nó chỉ được thêm vào nếu nó chưa có mặt.

Ví dụ

def catch_unique(list_in):
   # intilize an empty list
   unq_list = []

   # Check for elements
   for x in list_in:
      # check if exists in unq_list
      if x not in unq_list:
         unq_list.append(x)
         # print list
   for x in unq_list:
      print(x)

Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("Unique values from the list is")
catch_unique(Alist)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Unique values from the list is
Mon
Tue
wed
40

Có thiết lập

Một tập hợp chỉ chứa các giá trị duy nhất. Trong cách tiếp cận này, chúng tôi chuyển đổi danh sách thành một tập hợp và sau đó chuyển đổi tập hợp đó trở lại một danh sách chứa tất cả các phần tử duy nhất.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Unique values from the list is
[40, 'Tue', 'wed', 'Mon']

Sử dụng numpy

Thư viện numpy có một hàm được đặt tên là duy nhất, thực hiện công việc đơn giản là lấy danh sách làm đầu vào và cung cấp các phần tử duy nhất dưới dạng danh sách mới.

Ví dụ

import numpy as np

Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("The unique values from list is: ")
print(np.unique(Alist))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

The unique values from list is:
['40' 'Mon' 'Tue' 'wed']