Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่า List of Tuples สองลิสต์เหมือนกันหรือไม่ใน Python

บทนำ

การตรวจสอบว่าสองลิสต์ของ 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