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

Kiểm tra xem một danh sách có phải là tập hợp con của danh sách khác trong Python hay không

Trong phân tích văn bản và các lĩnh vực phân tích dữ liệu khác, thường cần tìm xem một danh sách nhất định đã là một phần của danh sách lớn hơn chưa. Trong bài viết này, chúng ta sẽ thấy các chương trình python để thực hiện yêu cầu này.

Với tất cả

Chúng tôi sử dụng vòng lặp for để kiểm tra xem mọi phần tử của danh sách nhỏ hơn có trong danh sách lớn hơn hay không. Hàm tất cả đảm bảo mỗi đánh giá trả về true.

Ví dụ

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

Với tập hợp con

Trong cách tiếp cận này, chúng tôi chuyển đổi danh sách thành tập hợp và sử dụng các hàm tập hợp con để xác thực xem danh sách nhỏ có phải là một phần của danh sách lớn hơn hay không.

Ví dụ

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

Sử dụng giao lộ

Hàm giao điểm tìm phần tử chung giữa hai tập hợp. Trong cách tiếp cận này, chúng tôi chuyển đổi các danh sách thành các tập hợp và áp dụng hàm giao nhau. Nếu kết quả của giao điểm giống với danh sách con thì chúng tôi kết luận danh sách con là một phần của danh sách.

Ví dụ

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list