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

ตรวจสอบว่า Tuple และ List เหมือนกันหรือไม่ใน Python

บทนำ

การตรวจสอบว่า tuple และ list มี element เหมือนกันทุกตัวและเรียงลำดับเดียวกัน สามารถทำได้โดยเปรียบเทียบแต่ละคู่ด้วยลูป หรือแปลงทั้งคู่เป็น tuple/list เดียวกันก่อนเปรียบเทียบ

ตัวอย่างโค้ด (ใช้ลูป)

my_tuple = ('Hi', 'there', 'Will')
my_list = ['How', 'are', 'you']

print("Tuple:", my_tuple)
print("List:", my_list)

# ตรวจสอบความยาวก่อน
if len(my_tuple) != len(my_list):
    result = False
else:
    result = True
    for i in range(len(my_list)):
        if my_list[i] != my_tuple[i]:
            result = False
            break

print("เหมือนกันหรือไม่?", result)

ผลลัพธ์

Tuple: ('Hi', 'there', 'Will')
List: ['How', 'are', 'you']
เหมือนกันหรือไม่? False

วิธีง่ายกว่า: แปลงเป็นชนิดเดียวกัน

# แปลง list เป็น tuple แล้วเปรียบเทียบ
result = my_tuple == tuple(my_list)
print("เหมือนกันหรือไม่?", result)  # False

# หรือแปลง tuple เป็น list
result = list(my_tuple) == my_list
print("เหมือนกันหรือไม่?", result)  # False

คำอธิบาย

  • Python เปรียบเทียบ sequence types (tuple, list) ได้โดยตรงด้วย == ถ้าแปลงเป็นชนิดเดียวกัน
  • การเปรียบเทียบจะเช็คทั้งค่าและลำดับ
  • วิธีแปลงชนิดสั้นกว่าและอ่านง่ายกว่าการเขียนลูปเอง

กรณีพิเศษ: Nested structures

t = (1, [2, 3])
l = [1, [2, 3]]
print(t == tuple(l))  # True - list ภายในก็ถูกเปรียบเทียบได้