บทนำ
การตรวจสอบว่า tuple มี element ซ้ำกันหรือไม่ สามารถทำได้โดยเปรียบเทียบความยาวของ tuple กับความยาวของ set ที่สร้างจาก tuple (set เก็บค่าไม่ซ้ำ)
ตัวอย่างโค้ด
my_tuple = (11, 14, 54, 0, 58, 41)
print("Tuple:", my_tuple)
# ตรวจสอบ distinct
is_distinct = len(set(my_tuple)) == len(my_tuple)
print("มีค่าซ้ำหรือไม่?", not is_distinct)
print("Distinct (ไม่ซ้ำ) หรือไม่?", is_distinct)
ผลลัพธ์
Tuple: (11, 14, 54, 0, 58, 41) มีค่าซ้ำหรือไม่? False Distinct (ไม่ซ้ำ) หรือไม่? True
คำอธิบาย
set(my_tuple)สร้าง set จาก tuple (ลบค่าซ้ำอัตโนมัติ)- ถ้า
len(set) == len(tuple)แปลว่าไม่มีค่าซ้ำ (distinct) - ถ้า
len(set) < len(tuple)แปลว่ามีค่าซ้ำ
การประยุกต์: หาค่าที่ซ้ำ
from collections import Counter
counts = Counter(my_tuple)
duplicates = [item for item, count in counts.items() if count > 1]
print("ค่าที่ซ้ำ:", duplicates) # [] ถ้าไม่มีซ้ำ
ประสิทธิภาพ
- เวลา: O(n) - สร้าง set และนับความยาว
- พื้นที่: O(n) - เก็บ set
- เร็วกว่าการ nested loop O(n²) มาก