Cho hai list Python khác nhau, tìm xem list đầu có phải phần của list sau không.
Dùng map và join
Chuyển list thành chuỗi ngăn cách bằng dấu phẩy, dùng in kiểm tra.
Ví dụ
listA = ['x', 'y', 't']
listB = ['t', 'z', 'a', 'x', 'y', 't']
print("ListA:", ', '.join(map(str, listA)))
print("ListB:", ', '.join(map(str, listB)))
res = ', '.join(map(str, listA)) in ', '.join(map(str, listB))
print("List A là phần của List B" if res else "List A KHÔNG phải phần của List B")
Kết quả
ListA: x, y, t ListB: t, z, a, x, y, t List A là phần của List B
Dùng range và len
Duyệt kiểm tra slice con có khớp listA không.
Ví dụ
listA = ['x', 'y', 't']
listB = ['t', 'z', 'a', 'x', 'y', 't']
n = len(listA)
res = any(listA == listB[i:i+n] for i in range(len(listB) - n + 1))
print("List A là phần của List B" if res else "List A KHÔNG phải phần của List B")
Kết quả
List A là phần của List B