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

โปรแกรม Python ค้นหาชุดที่ซ้ำกันในรายการชุด


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

ตัวอย่าง

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

from collections import Counter

my_list = [{4, 8, 6, 1}, {6, 4, 1, 8}, {1, 2, 6, 2}, {1, 4, 2}, {7, 8, 9}]

print("The list is :")
print(my_list)
my_freq = Counter(frozenset(sub) for sub in my_list)

my_result = []
for key, value in my_freq.items():

   if value > 1 :
      my_result.append(key)

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

ผลลัพธ์

The list is :
[{8, 1, 4, 6}, {8, 1, 4, 6}, {1, 2, 6}, {1, 2, 4}, {8, 9, 7}]
The result is :
[frozenset({8, 1, 4, 6})]

คำอธิบาย

  • รายการค่าที่ตั้งไว้ถูกกำหนดและแสดงบนคอนโซล

  • มีการทำซ้ำโดยใช้ 'frozenset' และ 'Counter'

  • ซึ่งจะให้ความถี่ของทุกค่าในรายการ

  • สิ่งนี้ถูกกำหนดให้กับตัวแปร

  • มีการสร้างรายการที่ว่างเปล่า

  • องค์ประกอบของตัวแปรถูกทำซ้ำ และหากความถี่มากกว่า 1 ค่านี้จะถูกผนวกเข้ากับรายการว่าง

  • สิ่งนี้จะแสดงเป็นเอาต์พุตบนคอนโซล