Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รับค่าที่ไม่ซ้ำจากรายการใน Python


รายการในไพ ธ อนคือรายการจำนวนหนึ่งที่อยู่ใน [] ซึ่งอาจมีหรือไม่มีประเภทข้อมูลเดียวกัน นอกจากนี้ยังสามารถมีรายการที่ซ้ำกัน ในบทความนี้เราจะมาดูวิธีการแยกเฉพาะค่าที่ไม่ซ้ำจากรายการ

มี append()

ในแนวทางนี้ เราจะสร้างรายการว่างใหม่ก่อน จากนั้นจึงผนวกองค์ประกอบเข้ากับรายการใหม่นี้ต่อเมื่อยังไม่มีอยู่ในรายการใหม่นี้ ใช้ for loop ร่วมกับไม่อยู่ในเงื่อนไข จะตรวจสอบการมีอยู่ขององค์ประกอบที่เข้ามาและจะถูกผนวกต่อเมื่อยังไม่มีอยู่เท่านั้น

ตัวอย่าง

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)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Unique values from the list is
Mon
Tue
wed
40

พร้อมชุด

ชุดประกอบด้วยค่าที่ไม่ซ้ำกันเท่านั้น ในแนวทางนี้ เราจะแปลงรายการเป็นชุดแล้วแปลงชุดกลับเป็นรายการที่มีองค์ประกอบที่ไม่ซ้ำกันทั้งหมด

ตัวอย่าง

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)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

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

ใช้ numpy

ไลบรารี numpy มีฟังก์ชันที่ชื่อว่า unique ซึ่งทำหน้าที่รับรายการเป็นอินพุตโดยตรงและให้องค์ประกอบที่ไม่ซ้ำเป็นรายการใหม่

ตัวอย่าง

import numpy as np

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

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

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