Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าสองลิสต์เหมือนกันหรือไม่ใน Python

เปรียบเทียบสองลิสต์ว่ามีสมาชิกเหมือนกันหมดหรือไม่ (ไม่สนใจลำดับ)

ใช้ sort และ ==

sort ทั้งสองลิสต์ แล้วเปรียบเทียบ ==

ตัวอย่าง

listA = ['Mon','Tue','Wed','Thu']
listB = ['Mon','Wed','Tue','Thu']
print("Given listA: ", listA)
print("Given listB: ", listB)
listA.sort()
listB.sort()
if listA == listB:
    print("Lists are identical")
else:
    print("Lists are not identical")

ผลลัพธ์

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

ใช้ collections.Counter

Counter นับความถี่ของแต่ละสมาชิก เปรียบเทียบ Counter object

ตัวอย่าง

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

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

ผลลัพธ์

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