Chúng ta sẽ tìm hiểu tất cả các trường hợp so sánh danh sách có thể xảy ra trong Python. Chúng tôi cũng sẽ tìm hiểu các phương pháp khác nhau cho cùng một mục đích Show
Mục lục So sánh nếu 2 danh sách bằng nhau với cùng một thứ tựĐể so sánh một cái gì đó trong Python, chúng tôi sử dụng toán tử 2 hoặc toán tử 3
Chúng ta sẽ sử dụng == vì khi sử dụng is we are comparing the memory address of 2 variables which will be different in the case of 2 different lists. So sánh 2 danh sách cho cùng một thứ tự các mặt hàng Phương pháp 1. == Toán tửChúng ta có thể sử dụng toán tử == để so sánh 2 danh sách. Nếu cả hai danh sách có cùng một phần tử theo cùng một thứ tự thì nó sẽ trả về 4.
đầu ra True Phương pháp 2. Sử dụng vòng lặpChúng ta cũng có thể sử dụng vòng lặp for để so sánh 2 danh sách Vì chúng ta chỉ phải kiểm tra xem phần tử ở vị trí bất kỳ trong list1 có bằng phần tử ở cùng vị trí trong list2 hay không, nên . Chúng ta có thể so sánh nó trong một lần lặp lại.
đầu ra True So sánh nếu 2 danh sách bằng nhau bất kể thứ tựKhi bạn so sánh 2 danh sách bất kể thứ tự của các thành phần trong danh sách, nó sẽ trở thành một nhiệm vụ phức tạp. Bây giờ bạn không thể đánh đồng 2 danh sách và kiểm tra xem chúng có bằng nhau không Để so sánh các danh sách bây giờ bạn có 2 cách tiếp cận
báo cáo quảng cáo này So sánh 2 danh sách cho một thứ tự khác nhau của các mặt hàng Phương pháp 1. Sắp xếp cả hai danh sáchSắp xếp cả hai danh sách. Điều này sẽ làm cho danh sách theo cùng một thứ tự nếu chúng có cùng các phần tử Bây giờ, chỉ cần so sánh cả hai danh sách bằng cách sử dụng toán tử == .
đầu ra True Phương pháp 2. So sánh phần tử riêng lẻMột cách tiếp cận khác là so sánh từng phần tử của list1 với từng phần tử của list2 and check if they exist in both lists. Trước khi so sánh các phần tử, trước tiên hãy kiểm tra xem cả hai danh sách có cùng độ dài không. Nếu chúng không có cùng độ dài thì đơn giản là chúng không bằng nhau Chúng ta sẽ tạo một hàm ở đây sẽ lấy 2 danh sách làm đối số và thực hiện so sánh 1đầu ra True Nhận giao điểm của 2 danh sáchTìm giao điểm của 2 danh sách tức là tìm tất cả các phần tử có mặt trong cả 2 danh sách Có nhiều cách để tìm giao điểm của 2 danh sách. Cách phổ biến nhất để có các giao điểm là sử dụng cấu trúc dữ liệu set . Phương pháp 1. Tìm giao lộ bằng cách sử dụng tập hợpA set bao gồm các phần tử duy nhất. Vì vậy, nếu lấy một tập hợp danh sách thì nó sẽ trả về các phần tử duy nhất của danh sách. Để tìm giao điểm của các danh sách, bạn có thể lấy một tập hợp cả hai danh sách và sử dụng toán tử & để tìm giao điểm. 3đầu ra 4Cả 7 hoặc 8 sẽ trả về cùng một kết quảBạn cũng có thể sử dụng phương thức intersection() của set class to find intersections. True0 đầu ra 4Phương pháp 2. Tìm giao lộ bằng cách sử dụng hiểu danh sáchMột cách khác để tìm giao điểm của 2 danh sách là sử dụng khả năng hiểu danh sách Khi hiểu danh sách, chúng ta sẽ sử dụng điều kiện if để kiểm tra xem một phần tử có tồn tại trong cả hai danh sách hay không. True2 đầu ra True3 Ngoài ra, bạn có thể sử dụng vòng lặp for để tìm giao điểm. Vòng lặp cũng sẽ tuân theo logic tương tự như hiểu danh sách True4 đầu ra True3 Lấy sự khác biệt của 2 danh sáchTìm sự khác biệt của các phần tử từ danh sách 1 đến danh sách thứ 2 có nghĩa là tìm tất cả các phần tử có mặt trong danh sách 1 nhưng không có trong danh sách thứ 2 Để biết sự khác biệt giữa 2 danh sách, bạn có thể sử dụng cấu trúc dữ liệu set và sử dụng - . operator to find the difference. True6 đầu ra True7 Sự khác biệt giữa list1 với list2 và list2 to list1 will be different. Bạn cũng có thể sử dụng phương thức difference() của set class to find differences. True8 đầu ra True7 So sánh xem 2 danh sách có bằng nhau khôngGiả sử danh sách của bạn chứa các giá trị chuỗi và bạn muốn so sánh xem 2 danh sách có bằng nhau không, bỏ qua chữ hoa chữ thường Để làm điều này, bạn có thể sử dụng lớp str để chuyển đổi tất cả các giá trị chuỗi thành chữ thường và sau đó sử dụng == operator to compare (If elements are not in the same order then you can use the methods discussed above). 0đầu ra True Phần kết luậnTrong bài viết này, chúng ta đã thảo luận về nhiều cách Python so sánh hai danh sách. Ta đã từng gặp các trường hợp như so sánh 2 danh sách, tìm giao điểm, tìm điểm khác biệt và so sánh 2 danh sách bỏ qua trường hợp |