特色

Python中怎么比较两个列表

学习如何在Python中比较列表的方法: ==, set(), loops, 和 Counter.

List-Compare Team
2025年6月2日
5 min read
Tutorial
Productivity
Python

比较两个列表在Python中是一件很常见的事情。比如你想看看两个结果是不是一样?或者你想检查一个列表里有没有重复内容?今天我们来学习几种简单又实用的方法,让你轻松搞定这个问题。

方法一:用 == 判断是否完全相等

如果你只是想知道两个列表是不是一模一样(内容相同、顺序也一样),可以直接用 ==。

list1 = [1, 2, 3] list2 = [1, 2, 3] print(list1 == list2) # True

但如果顺序不一样,就会返回 False:

list1 = [1, 2, 3] list2 = [3, 2, 1] print(list1 == list2) # False

方法二:用 set() 忽略顺序

有时候你不在乎顺序,只想知道内容是不是一样。这时候可以用 set()。

list1 = [1, 2, 3] list2 = [3, 2, 1] print(set(list1) == set(list2)) # True

⚠️ 注意:set() 会自动去掉重复项。如果你需要保留重复元素,不能用这个方法。

方法三:逐个比较元素

你可以写一个循环,检查两个列表的每个元素是否一样。适合自定义比较方式。

def compare_lists(l1, l2): if len(l1) != len(l2): return False for a, b in zip(l1, l2): if a != b: return False return True print(compare_lists([1, 2, 3], [1, 2, 3])) # True

方法四:使用 collections.Counter

这个方法最强大!它不仅不在乎顺序,还会考虑每个元素出现的次数。

from collections import Counter list1 = [1, 2, 2, 3] list2 = [2, 1, 2, 3] print(Counter(list1) == Counter(list2)) # True

Counter 会把列表变成一个字典,记录每个元素出现了几次。

总结

方法是否考虑顺序是否考虑重复推荐使用场景
==✅ 是✅ 是完全相同的列表比较
set()❌ 否❌ 否快速检查是否包含相同元素
循环比较✅ 是✅ 是需要自定义比较逻辑时
collections.Counter❌ 否✅ 是顺序不重要,但重复要考虑时

🔗 推荐阅读(外部链接)

如果你觉得麻烦的话,也可以试试看我们的免费在线比较工具工具

试试我们的列表比较工具

准备将您学到的知识付诸实践吗?立即比较您的列表!

开始比较