แนวคิด
มี 2 ลิสต์ขนาดเท่ากัน และ check list ตรวจสอบว่าสำหรับทุก index: ถ้าค่าในลิสต์ 1 อยู่ใน check list แล้ว ต้องเท่ากับค่าในลิสต์ 2 ตรง index นั้น
ตัวอย่างโค้ด
list1 = [69, 96, 23, 57, 13, 75, 13]
list2 = [68, 21, 69, 23, 49, 35, 73]
check_list = [66, 89, 69]
print("List 1:", list1)
print("List 2:", list2)
print("Check list:", check_list)
# เรียงทั้ง 3 ลิสต์ (ตามโค้ดต้นฉบับ)
list1.sort()
list2.sort()
check_list.sort()
print("List 1 sorted:", list1)
print("List 2 sorted:", list2)
print("Check list sorted:", check_list)
result = True
for i, val in enumerate(list1):
if val in check_list and list1[i] != list2[i]:
result = False
break
if result:
print("เงื่อนไขผ่าน: ค่าใน check list ตรงกันทุก index")
else:
print("เงื่อนไขไม่ผ่าน: มีค่าใน check list ที่ index ไม่ตรง")
ผลลัพธ์
List 1: [69, 96, 23, 57, 13, 75, 13]
List 2: [68, 21, 69, 23, 49, 35, 73]
Check list: [66, 89, 69]
List 1 sorted: [13, 13, 23, 57, 69, 75, 96]
List 2 sorted: [21, 23, 35, 49, 68, 69, 73]
Check list sorted: [66, 69, 89]
เงื่อนไขไม่ผ่าน: มีค่าใน check list ที่ index ไม่ตรง
คำอธิบาย
หลัง sort: list1 มี 69 อยู่ index 4, list2 มี 69 อยู่ index 5 -> ไม่ตรง -> False
⚠️ ปัญหา Logic
การ sort แยกกันทำให้ index alignment หายไป โจทย์นี้อาจต้องการเปรียบเทียบ "คู่เดิม" (paired data) ไม่ควร sort แยกกัน