เปรียบเทียบสองลิสต์ว่ามีสมาชิกเหมือนกันหมดหรือไม่ (ไม่สนใจลำดับ)
ใช้ 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