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

Kiểm tra xem hai danh sách có giống nhau trong Python hay không

Trong phân tích dữ liệu python, chúng tôi có thể gặp phải tình huống khi chúng tôi cần so sánh hai danh sách và tìm hiểu xem chúng có giống nhau không, nghĩa là có các phần tử giống nhau hay không.

Hoàn thành

listA = ['Mon','Tue','Wed','Thu']
listB = ['Mon','Wed','Tue','Thu']
# Given lists
print("Given listA: ",listA)
print("Given listB: ",listB)
# Sort the lists
listA.sort()
listB.sort()

# Check for equality
if listA == listB:
   print("Lists are identical")
else:
   print("Lists are not identical")

Đầu ra

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

Given listA: ['Mon', 'Tue', 'Wed', 'Thu']
Given listB: ['Mon', 'Wed', 'Tue', 'Thu']
Lists are identical

Có bộ đếm

Chức năng Counter từ mô-đun tập hợp có thể giúp chúng tôi tìm số lần xuất hiện của mỗi mục trong danh sách. Trong ví dụ dưới đây, chúng tôi cũng lấy hai phần tử trùng lặp. Nếu tần suất của mỗi phần tử trong cả hai danh sách bằng nhau, chúng tôi coi các danh sách là giống nhau.

Ví dụ

import collections
listA = ['Mon','Tue','Wed','Tue']
listB = ['Mon','Wed','Tue','Tue']
# Given lists
print("Given listA: ",listA)
print("Given listB: ",listB)
# Check for equality
if collections.Counter(listA) == collections.Counter(listB):
   print("Lists are identical")
else:
   print("Lists are not identical")

# Checking again
listB = ['Mon','Wed','Wed','Tue']
print("Given listB: ",listB)

# Check for equality
if collections.Counter(listA) == collections.Counter(listB):
   print("Lists are identical")
else:
   print("Lists are not identical")

Đầu ra

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

Given listA: ['Mon', 'Tue', 'Wed', 'Tue']
Given listB: ['Mon', 'Wed', 'Tue', 'Tue']
Lists are identical
Given listB: ['Mon', 'Wed', 'Wed', 'Tue']
Lists are not identical