ใน List ของ Python เราอาจมีองค์ประกอบซ้ำกัน เมื่อเรานับความยาวของ List เราจะได้ความยาวรวมทั้งหมดรวมถึงองค์ประกอบซ้ำ แต่ในบทความนี้ เราจะดูวิธีการนับจำนวนองค์ประกอบที่แตกต่างกัน (unique elements) ใน List
ตัวอย่าง
ในตัวอย่างด้านล่าง เราใช้ counter() จากโมดูล collections ในโมดูลนี้ Counter เป็น subclass ของ dict สำหรับนับออบเจ็กต์ที่แฮชได้ Counter เป็นคอลเลกชันที่ไม่มีลำดับ โดยองค์ประกอบถูกเก็บเป็นคีย์ของ dictionary และจำนวนนับถูกเก็บเป็นค่า ดังนั้นจาก List เดิม เราสร้าง List ใหม่ที่ประกอบด้วยองค์ประกอบที่มีคีย์ปรากฏเพียงครั้งเดียว นี่คือ List ขององค์ประกอบที่ไม่ซ้ำกัน จากนั้นเราหาความยาวของ List ใหม่นี้
from collections import Counter
list = ['Mon', 'Tue', 'Wed', 'Mon', 'Tue']
print("ความยาวของ List เดิม:", len(list))
distinct_list = Counter(list).keys()
print("List ที่มีองค์ประกอบไม่ซ้ำ:\n", distinct_list)
print("ความยาวของ List ที่ไม่ซ้ำ:", len(distinct_list))
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ -
ความยาวของ List เดิม: 5 List ที่มีองค์ประกอบไม่ซ้ำ: dict_keys(['Mon', 'Tue', 'Wed']) ความยาวของ List ที่ไม่ซ้ำ: 3