Kiểm tra 2 danh sách có bằng python không

Danh sách trong python là tập hợp các mục tương tự. Đôi khi, chúng tôi có thể cần so sánh các mục dữ liệu trong hai danh sách để thực hiện một số thao tác nhất định. Chúng tôi sẽ thảo luận về một số phương pháp để so sánh hai danh sách trong python

Sử dụng danh sách. toán tử sort[] và ==

Danh sách. Phương thức sort[] sắp xếp hai danh sách và toán tử == so sánh hai danh sách theo từng mục, nghĩa là chúng có các mục dữ liệu bằng nhau ở các vị trí bằng nhau. Điều này kiểm tra xem danh sách có chứa các giá trị mục dữ liệu bằng nhau hay không nhưng nó không tính đến thứ tự của các phần tử trong danh sách. Điều này có nghĩa là danh sách [1,2,3] sẽ bằng danh sách [2,1,3] theo phương pháp so sánh này

Thí dụ

Bản thử trực tiếp

def compareList[l1,l2]:
   l1.sort[]
   l2.sort[]
   if[l1==l2]:
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print["First comparison",compareList[l1,l2]]
l3=[1,2,3]
l4=[1,2,4]
print["Second comparison",compareList[l3,l4]]

đầu ra

First comparison Equal
Second comparison Non equal

Sử dụng bộ sưu tập. Phản đối[]

Phương pháp này kiểm tra sự bằng nhau của các danh sách bằng cách so sánh tần suất của từng phần tử trong danh sách đầu tiên với danh sách thứ hai. Phương pháp này cũng không tính đến thứ tự của các phần tử của danh sách

Thí dụ

Bản thử trực tiếp

import collections
def compareList[l1,l2]:
   if[collections.Counter[l1]==collections.Counter[l2]]:
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print["First comparison",compareList[l1,l2]]
l3=[1,2,3]
l4=[1,2,4]
print["Second comparison",compareList[l3,l4]]

đầu ra

First comparison Non equal
Second comparison Equal

Sử dụng tổng [], zip [] và len []

Phương pháp này trước tiên so sánh từng phần tử của hai danh sách và lưu trữ chúng dưới dạng tổng của 1, sau đó được so sánh với độ dài của danh sách khác. Đối với phương pháp này, trước tiên chúng ta phải kiểm tra xem độ dài của cả hai danh sách có bằng nhau hay không trước khi thực hiện phép tính này

Phương pháp này cũng kiểm tra thứ tự của các phần tử. Điều này có nghĩa là danh sách [1,2,3] không bằng danh sách [2,1,3]

Thí dụ

Bản thử trực tiếp

def compareList[l1,l2]:
   if[len[l1]==len[l2] and len[l1]==sum[[1 for i,j in zip[l1,l2] if i==j]]]:
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print["First comparison",compareList[l1,l2]]
l3=[1,2,3]
l4=[1,2,3]
print["Second comparison",compareList[l3,l4]]

đầu ra

First comparison Non equal
Second comparison Equal

Như trong ví dụ trên, đối với phép so sánh đầu tiên, các mục dữ liệu trong cả hai danh sách đều bằng nhau nhưng thứ tự của các phần tử khác nhau. Do đó, so sánh đầu tiên trả về không bằng

Sử dụng toán tử ==

Đây là một sửa đổi của phương pháp đầu tiên. Trong phương pháp này, các danh sách được so sánh mà không cần sắp xếp và do đó, phương pháp này tính đến thứ tự của các mục dữ liệu trong danh sách

Thí dụ

Bản thử trực tiếp

def compareList[l1,l2]:
   if[l1==l2]:
      return "Equal"
   else:
      return "Non equal"
l1=[1,2,3]
l2=[2,1,3]
print["First comparison",compareList[l1,l2]]
l3=[1,2,3]
l4=[1,2,3]
print["Second comparison",compareList[l3,l4]]

đầu ra

First comparison Non equal
Second comparison Equal

Đây là một số phương pháp so sánh danh sách trong python, cả hai đều tính đến thứ tự của các mục dữ liệu cũng như không tính đến thứ tự của các mục dữ liệu

Cách dễ nhất là sử dụng phương thức list sort[] và toán tử == để Kiểm tra xem hai danh sách có bằng nhau trong Python hay không. Nếu không muốn sắp xếp danh sách thì bạn có thể sử dụng hàm collections Counter[]

Ví dụ kiểm tra xem hai danh sách có bằng Python không

Mã ví dụ đơn giản

Sử dụng danh sách. toán tử sort[] và ==

________số 8

đầu ra

Sử dụng bộ sưu tập. Phản đối[]

Chức năng Bộ đếm từ mô-đun bộ sưu tập. Nó được sử dụng để tìm số lần xuất hiện của từng mục trong danh sách. Bạn phải nhập mô-đun bộ sưu tập

import collections

list1 = [1, 2, 4, 3, 5]
list2 = [1, 2, 4, 3, 5]

if collections.Counter[list1] == collections.Counter[list2]:
    print["The lists are equal"]
else:
    print["The lists are not equal"]

đầu ra. Các danh sách bằng nhau

Một cách khác sử dụng NumPy

sử dụng np. array_equal[] để kiểm tra xem hai danh sách có bằng nhau không

First comparison Equal
Second comparison Non equal
0

đầu ra. Các danh sách bằng nhau

Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chủ đề danh sách Python này

Ghi chú. IDE. PyCharm 2021. 3. 3 [Phiên bản cộng đồng]

cửa sổ 10

Trăn 3. 10. 1

Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp

Rohit

Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật

Chủ Đề