检查两个列表在 Python 中是否相同


在 Python 数据分析中,我们可能会遇到需要比较两个列表并找出它们是否相同(即拥有相同的元素)的情况。

示例

 在线演示

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")

输出

运行上述代码可获得以下结果:

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

使用计数器

collections 模块中的 Counter 函数可以帮助我们找出列表中每个项目的出现次数。在下面的示例中,我们还使用了两个重复元素。如果两个列表中每个元素的频率都相等,我们认为这些列表是相同的。

示例

 在线演示

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")

输出

运行上述代码可获得以下结果:

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

更新于:13-May-2020

492 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.