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

Python - Chuỗi rời rạc trong danh sách

Khi cần tìm các chuỗi rời rạc trên các danh sách, một phương thức được xác định có hai tham số và sử dụng các phương thức lambda và Reduce với điều kiện ‘if’ để xác định kết quả.

Dưới đây là một minh chứng về điều tương tự -

Ví dụ

from functools import reduce

def determine_disjoint_pairs(disjoint_data, my_result=[]):

   if not disjoint_data and not reduce(lambda a, b: set(a) & set(b), my_result):
      yield tuple(my_result)
   
   elif disjoint_data:
      yield [idx for k in disjoint_data[0] for idx in determine_disjoint_pairs(disjoint_data[1:], my_result + [k])]


my_list_1 = ["python", "is", "fun"]
my_list_2 = ["its", "awesome", "learning"]

print("The first list is : ")
print(my_list_1)
print("The second list is :")
print(my_list_2)

my_result = list(determine_disjoint_pairs([my_list_1, my_list_2]))

print("The result is :")
print(my_result)

Đầu ra

The first list is :
['python', 'is', 'fun']
The second list is :
['its', 'awesome', 'learning']
The result is :
[('fun', 'its'), ('fun', 'awesome')]

Giải thích

  • Một phương thức có tên ‘xác định_disjoint_pairs’ được xác định có hai tham số.

  • Nếu tham số đầu tiên không đúng và các phương thức ‘Reduce’ và ‘lambda’ được sử dụng với hai tham số không đúng, thì toán tử lợi nhuận sẽ được sử dụng để xác định kết quả, toán tử này cũng được chuyển đổi thành một bộ giá trị.

  • Nếu không, toán tử lợi nhuận cùng với khả năng hiểu danh sách được sử dụng bằng cách gọi lại phương thức với một bộ tham số khác.

  • Bên ngoài phương thức, hai danh sách chuỗi được xác định và hiển thị trên bảng điều khiển.

  • Phương thức được gọi bằng cách chuyển hai danh sách này.

  • Nó được chuyển đổi thành một danh sách và được gán cho một biến.

  • Biến này được hiển thị dưới dạng đầu ra trên bảng điều khiển.