กำหนด list สองตัวที่ต่างกัน เราต้องหาว่า list แรกเป็นส่วนหนึ่งของ list ที่สองหรือไม่
ใช้ map และ join
ใช้ map() ดึงสมาชิก list แล้ว join() สร้างสตริงคั่นคอมมา ต่อมาใช้ in operator ตรวจสอบว่า list แรกเป็นส่วนของ list ที่สอง
ตัวอย่าง
listA = ['x', 'y', 't']
listB = ['t', 'z', 'a', 'x', 'y', 't']
print("ListA elements: ")
print(', '.join(map(str, listA)))
print("ListB elements:")
print(', '.join(map(str, listB)))
res = ', '.join(map(str, listA)) in ', '.join(map(str, listB))
if res:
print("List A เป็นส่วนหนึ่งของ List B")
else:
print("List A ไม่ใช่ส่วนหนึ่งของ List B")
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −
ListA elements: x, y, t ListB elements: t, z, a, x, y, t List A เป็นส่วนหนึ่งของ List B
ใช้ range และ len
ออกแบบ for loop ตรวจสอบความมีอยู่ของสมาชิกจาก list หนึ่งในอีก list ด้วย range() และ len()
ตัวอย่าง
listA = ['x', 'y', 't']
listB = ['t', 'z', 'a', 'x', 'y', 't']
print("ListA elements: \n", listA)
print("ListB elements:\n", listB)
n = len(listA)
res = any(listA == listB[i:i + n] for i in range(len(listB) - n + 1))
if res:
print("List A เป็นส่วนหนึ่งของ List B")
else:
print("List A ไม่ใช่ส่วนหนึ่งของ List B")
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −
ListA elements: ['x', 'y', 't'] ListB elements: ['t', 'z', 'a', 'x', 'y', 't'] List A เป็นส่วนหนึ่งของ List B