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

Python – ลบคอลัมน์ขององค์ประกอบที่ซ้ำกัน


เมื่อจำเป็นต้องลบคอลัมน์ขององค์ประกอบที่ซ้ำกัน มีการกำหนดวิธีการที่สร้างชุดว่าง รายการถูกทำซ้ำ และหากไม่พบ รายการจะถูกเพิ่มเข้าไปในชุด

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

from itertools import chain

def remove_dupes(my_sub):

   my_string = set()
   for i, elem in enumerate(my_sub):

      if elem not in my_string:
         my_string.add(elem)
      else:
         yield i

my_list = [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]

print("The list is : ")
print(my_list)

K = 3

temp_idxs = set(chain.from_iterable(remove_dupes(sub) for sub in my_list))

my_result = [[elem for i, elem in enumerate( sub) if i not in temp_idxs] for sub in my_list]

print("The result is : ")
print(my_result)

ผลลัพธ์

The list is :
[[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]
The result is :
[[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

  • มีการกำหนดเมธอดชื่อ 'remove_dupes' ซึ่งรับรายการเป็นพารามิเตอร์

  • มีการสร้างชุดว่าง

  • องค์ประกอบในรายการจะถูกแจกแจง และหากไม่พบองค์ประกอบ จะถูกเพิ่มไปยังชุดว่าง

  • มิฉะนั้น จะเกิดตัววนซ้ำของการแจงนับ

  • นอกฟังก์ชัน รายการของรายการถูกกำหนดและแสดงบนคอนโซล

  • ค่าสำหรับ 'K' ถูกกำหนดไว้

  • วิธีการนี้เรียกว่าโดยการวนซ้ำ

  • มันถูกแปลงเป็นชุดและถูกกำหนดให้กับตัวแปร

  • อีกครั้ง จะมีการแจกแจง วนซ้ำ และเก็บไว้ในตัวแปรผลลัพธ์

  • ตัวแปรผลลัพธ์นี้จะแสดงเป็นเอาต์พุตบนคอนโซล