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

Python - ตรวจสอบว่า List หนึ่งอยู่ในอีก List หนึ่งหรือไม่

กำหนด 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