ลบค่าซ้ำจาก 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 และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น
- ทดสอบ input ว่าง หนึ่งสมาชิก และค่าซ้ำ
- แสดงสถานะหลังแต่ละขั้นตอน
- เปรียบเทียบประสิทธิภาพกับวิธีอื่น