Python tìm phần tử chung đầu tiên trong hai danh sách
Để kiểm tra xem hai danh sách có ít nhất một phần tử chung hay không, chúng ta sẽ lặp qua list1 và list2 và kiểm tra ít nhất một phần tử chung trong cả hai danh sách. Danh sách này là kiểu dữ liệu linh hoạt nhất có sẵn trong Python, có thể được viết dưới dạng danh sách các giá trị (mục) được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không nhất thiết phải cùng loại Show Giả sử chúng ta có các đầu vào sau i. e. 2 danh sách - [15, 45, 67, 30, 98] [10, 8, 45, 48, 30] Đầu ra phải như sau tôi. e. hai danh sách có ít nhất một phần tử chung - Common Element Found Kiểm tra xem hai danh sách có ít nhất một phần tử chung bằng cách sử dụng vòng lặp for Chúng tôi đã sử dụng các vòng lặp lồng nhau để kiểm tra xem hai danh sách do người dùng nhập vào có ít nhất hai phần tử hay không. Cả hai danh sách đều được duyệt qua và phần tử chung được tìm thấy bằng cách sử dụng câu lệnh if. Phương thức input() được sử dụng cho đầu vào của người dùng - Thí dụđầu raEnter the size of the first List =5 Enter the Element of the first List = 15 45 67 30 98 Enter the size of the second List =7 Enter the Element of the second List = 10 8 45 48 30 86 67 Display Result = Common Element Found Enter the size of the first List =5 Enter the Element of the first List = 10 20 30 40 50 Enter the size of the second List =5 Enter the Element of the second List= 23 39 45 67 89 Display Result = Common Element Not Found Kiểm tra xem hai danh sách có ít nhất một phần tử chung hay không bằng cách sử dụng set_intersection() Chúng tôi đã sử dụng phương thức set_intersection() để kiểm tra xem hai danh sách có ít nhất một phần tử chung hay không. Đầu tiên, các danh sách được chuyển đổi thành tập hợp và sau đó phương thức này được áp dụng để tìm các phần tử chung - Thí dụđầu raList1 = [4, 10, 15, 20, 25, 30] List2 = [12, 24, 25, 35, 45, 65] Are common elements in both the lists? True Kiểm tra xem hai danh sách có ít nhất một phần tử chung hay không bằng Set Trong ví dụ này, chúng tôi đã sử dụng phương thức set() để chuyển đổi danh sách thành set và sau đó toán tử & được sử dụng để tìm các phần tử chung. Do đó, chúng tôi chưa sử dụng phương thức set_intersection() ở đây - Thí dụđầu raList1 = [5, 10, 15, 20, 25, 30] List2 = [12, 20, 30, 35, 40, 50] Are common elements in both the lists? True Ở trên, chúng ta đã thấy rằng True được trả về, vì cả hai danh sách đều có ít nhất một phần tử chung. Trong ví dụ này, phần tử chung là 30 Khi cần tìm phần tử chung xuất hiện lần đầu tiên giữa hai danh sách liên kết, một phương thức để thêm các phần tử vào danh sách được liên kết và một phương thức để lấy phần tử chung xuất hiện lần đầu tiên trong các danh sách được liên kết này được xác định Dưới đây là một minh chứng cho điều tương tự - Thí dụBản thử trực tiếp class Node: def __init__(self, data): self.data = data self.next = None class LinkedList_structure: def __init__(self): self.head = None self.last_node = None def add_vals(self, data): if self.last_node is None: self.head = Node(data) self.last_node = self.head else: self.last_node.next = Node(data) self.last_node = self.last_node.next def first_common_val(list_1, list_2): curr_1 = list_1.head while curr_1: data = curr_1.data curr_2 = list_2.head while curr_2: if data == curr_2.data: return data curr_2 = curr_2.next curr_1 = curr_1.next return None my_list_1 = LinkedList_structure() my_list_2 = LinkedList_structure() my_list = input('Enter the elements of the first linked list : ').split() for elem in my_list: my_list_1.add_vals(int(elem)) my_list = input('Enter the elements of the second linked list : ').split() for elem in my_list: my_list_2.add_vals(int(elem)) common_vals = first_common_val(my_list_1, my_list_2) if common_vals: print('The element that is present first in the first linked list and is common to both is {}.'.format(common)) else: print('The two lists have no common elements') đầu raEnter the elements of the first linked list : 45 67 89 123 45 Enter the elements of the second linked list : 34 56 78 99 0 11 The two lists have no common elements Giải trình
|