อัลกอริทึม Python

ลบค่าซ้ำจาก Python List

Set ช่วยตรวจสอบรวดเร็ว ส่วน list ผลลัพธ์รักษาลำดับ

ลบค่าซ้ำจาก Python List คืออะไร?

Set ช่วยตรวจสอบรวดเร็ว ส่วน list ผลลัพธ์รักษาลำดับ

ลบค่าซ้ำโดยคงลำดับเดิม

ควรใช้เมื่อใด?

  • ทำความเข้าใจอัลกอริทึมและโครงสร้างข้อมูล
  • สังเกตแต่ละขั้นตอนและกรณีขอบ
  • เปรียบเทียบเวลาและหน่วยความจำ

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

รันโค้ด →
main.py
def unique_in_order(values):
    seen = set()
    result = []
    for value in values:
        if value not in seen:
            seen.add(value)
            result.append(value)
    return result

print(unique_in_order([3, 1, 3, 2, 1, 4]))

ผลลัพธ์ที่คาดหวัง

[3, 1, 2, 4]

หลักการทำงาน

ประมวลผลแต่ละค่าหนึ่งครั้ง ใช้เวลาและหน่วยความจำ O(n)

เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python

แบบฝึกหัด

ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น

  1. ทดสอบ input ว่าง หนึ่งสมาชิก และค่าซ้ำ
  2. แสดงสถานะหลังแต่ละขั้นตอน
  3. เปรียบเทียบประสิทธิภาพกับวิธีอื่น
รันใน Python IDE →