บทนำ
การตรวจสอบว่าสองลิสต์ของ tuples มีค่าและลำดับเหมือนกันทุกอย่าง สามารถใช้ตัวดำเนินการ == ได้โดยตรง เนื่องจาก Python รองรับการเปรียบเทียบ sequence แบบ element-wise
ตัวอย่างโค้ด
list1 = [(11, 14), (54, 58)]
list2 = [(98, 0), (10, 13)]
print("ลิสต์ 1:", list1)
print("ลิสต์ 2:", list2)
# เปรียบเทียบโดยตรง
are_identical = list1 == list2
print("เหมือนกันหรือไม่?", are_identical)
ผลลัพธ์
ลิสต์ 1: [(11, 14), (54, 58)] ลิสต์ 2: [(98, 0), (10, 13)] เหมือนกันหรือไม่? False
คำอธิบาย
==เปรียบเทียบความยาวก่อน แล้วค่อยเปรียบเทียบ element ทุกคู่ตามลำดับ- Tuple ก็เปรียบเทียบได้เหมือนกัน (element-wise)
- คืนค่า True ก็ต่อเมื่อ ทุก element เท่ากันและลำดับเหมือนกัน
ตัวอย่างเพิ่มเติม
a = [(1, 2), (3, 4)] b = [(1, 2), (3, 4)] c = [(3, 4), (1, 2)] # ลำดับต่าง d = [(1, 2), (3, 4, 5)] # tuple ความยาวต่าง print(a == b) # True print(a == c) # False (ลำดับต่าง) print(a == d) # False (element ต่าง)
กรณี Nested ลึก
การเปรียบเทียบ == ทำงานได้แบบ recursive สำหรับ nested structures:
x = [(1, [2, 3]), (4, 5)] y = [(1, [2, 3]), (4, 5)] print(x == y) # True