ระบุรายการหลามที่แตกต่างกันสองรายการ เราจำเป็นต้องค้นหาว่ารายการแรกเป็นส่วนหนึ่งของรายการที่สองหรือไม่
พร้อมแผนที่และเข้าร่วม
ขั้นแรก เราสามารถใช้ฟังก์ชันแผนที่เพื่อรับองค์ประกอบของรายการ จากนั้นจึงใช้ฟังก์ชันการรวมเพื่อสร้างรายการค่าที่คั่นด้วยเครื่องหมายจุลภาค ต่อไปเราใช้ตัวดำเนินการ in เพื่อดูว่ารายการแรกเป็นส่วนหนึ่งของรายการที่สองหรือไม่
ตัวอย่าง
listA = ['x', 'y', 't'] listB = ['t', 'z','a','x', 'y', 't'] print("Given listA elemnts: ") print(', '.join(map(str, listA))) print("Given listB elemnts:") print(', '.join(map(str, listB))) res = ', '.join(map(str, listA)) in ', '.join(map(str, listB)) if res: print("List A is part of list B") else: print("List A is not a part of list B")
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given listA elemnts: x, y, t Given listB elemnts: t, z, a, x, y, t List A is part of list B
มีระยะและเลน
เราสามารถออกแบบ for loop เพื่อตรวจสอบการมีอยู่ขององค์ประกอบที่อยู่ในรายการอื่นโดยใช้ฟังก์ชัน range และฟังก์ชัน len
ตัวอย่าง
listA = ['x', 'y', 't'] listB = ['t', 'z','a','x', 'y', 't'] print("Given listA elemnts: \n",listA) print("Given listB elemnts:\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 is part of list B") else: print("List A is not a part of list B")
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given listA elemnts: ['x', 'y', 't'] Given listB elemnts: ['t', 'z', 'a', 'x', 'y', 't'] List A is part of list B