Computer >> Máy Tính >  >> Lập trình >> Python

Python - Giao điểm của nhiều danh sách

Trong bài viết này, chúng ta sẽ xem cách giao nhau giữa hai danh sách chứa nhiều danh sách theo những cách khác nhau. Hãy bắt đầu theo cách truyền thống.

Làm theo các bước bên dưới để giải quyết vấn đề

  • Khởi tạo hai danh sách với nhiều danh sách
  • Lặp lại danh sách đầu tiên và thêm mục hiện tại vào danh sách mới nếu nó cũng xuất hiện trong danh sách thứ hai.
  • In kết quả.

Ví dụ

# initializing the lists
list_1 = [[1, 2], [3, 4], [5, 6]]
list_2 = [[3, 4]]

# finding the common items from both lists
result = [sub_list for sub_list in list_1 if sub_list in list_2]

# printing the result
print(result)

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

Đầu ra

[[3, 4]]

Chúng tôi sẽ sử dụng tập hợp để giao nhau giữa hai danh sách. Thực hiện theo các bước dưới đây.

  • Chuyển đổi hai mục danh sách thành các bộ giá trị bằng cách sử dụng bản đồ.
  • Giao nhau giữa hai tập hợp bằng cách sử dụng phương pháp giao nhau và bản đồ.
  • Chuyển đổi kết quả thành danh sách
  • In kết quả.

Ví dụ

# initializing the lists
list_1 = [[1, 2], [3, 4], [5, 6]]
list_2 = [[3, 4]]

# converting each sub list to tuple for set support
tuple_1 = map(tuple, list_1)
tuple_2 = map(tuple, list_2)

# itersection
result = list(map(list, set(tuple_1).intersection(tuple_2)))

# printing the result
print(result)

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

Đầu ra

[[3, 4]]

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong bài viết, hãy đề cập đến chúng trong phần bình luận.