Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Giao nhiều danh sách


Học cách giao hai danh sách chứa các danh sách con theo nhiều cách.

Cách 1: List comprehension truyền thống.

list_1 = [[1, 2], [3, 4], [5, 6]]
list_2 = [[3, 4]]
result = [sub_list for sub_list in list_1 if sub_list in list_2]
print(result)  # [[3, 4]]

Cách 2: Dùng set (cần chuyển danh sách con thành tuple vì list không hash được).

list_1 = [[1, 2], [3, 4], [5, 6]]
list_2 = [[3, 4]]
tuple_1 = map(tuple, list_1)
tuple_2 = map(tuple, list_2)
result = list(map(list, set(tuple_1).intersection(tuple_2)))
print(result)  # [[3, 4]]

Kết luận

Cách dùng set nhanh hơn với dữ liệu lớn.