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

โปรแกรม Python สำหรับหาสมาชิกซ้ำในอาร์เรย์

เมื่อต้องการค้นหาสมาชิกที่ซ้ำกันในอาร์เรย์ สามารถใช้ลูปซ้อน (nested loop) เพื่อเปรียบเทียบแต่ละคู่ของสมาชิก

ตัวอย่างโค้ด

my_list = [1, 2, 5, 6, 8, 9, 3, 4, 8, 9, 1, 8]
print("The list is :")
print(my_list)
print("The duplicate elements in the list are : ")
for i in range(0, len(my_list)):
    for j in range(i+1, len(my_list)):
        if(my_list[i] == my_list[j]):
            print(my_list[j])

ผลลัพธ์

The list is : [1, 2, 5, 6, 8, 9, 3, 4, 8, 9, 1, 8]
The duplicate elements in the list are : 1 8 8 9 8

คำอธิบาย

  • กำหนดลิสต์และแสดงสมาชิกทั้งหมด

  • ใช้ลูปซ้อนเพื่อเปรียบเทียบสมาชิกแต่ละคู่ (i กับ j โดยที่ j > i)

  • หากค่าตรงกัน ถือว่าเป็นสมาชิกซ้ำและนำมาแสดง

หมายเหตุ: วิธีนี้มีความซับซ้อน O(n²) สำหรับข้อมูลขนาดใหญ่แนะนำให้ใช้ collections.Counter หรือ set เพื่อประสิทธิภาพที่ดีกว่า