在 Python 中比较两个列表

Manav Narula 2023年1月30日 2021年3月21日
  1. 在 Python 中使用 for 循环比较列表
  2. 使用 set 比较 Python 中的列表
  3. 在 Python 中使用 collection.counter() 函数比较两个列表
在 Python 中比较两个列表

列表用于在 Python 中以特定顺序存储多个元素。

在本教程中,我们将学习如何比较两个列表并找到相等的元素。

在 Python 中使用 for 循环比较列表

for 循环可用于遍历列表,并将一个列表的每个元素与第二个列表中的所有元素进行比较。使用这种方法,我们可以分别找到比较元素,并找出共同的元素。

下面的代码展示了如何实现这个方法。

l1 = [1,2,3]
l2 = [3,2,5]
for i in l1:
    for j in l2:
        if(i==j):
            print(i)
            break

输出:

2
3

使用 set 比较 Python 中的列表

Set 是元素的集合,并且是无序的。我们可以使用 set() 函数将列表直接转换为集合,并比较它们是否相等。

例如,

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]

if(set(l1) == set(l2)):
    print("Lists are equal")
else:
    print("Lists are not equal")

输出:

Lists are not equal

我们还可以使用&运算符找出两个列表之间的公共元素,该运算符返回两个集合的交集。

例如,

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]
    
print("Common Elements", set(l1) & set(l2))

输出:

Common Elements {5}

在 Python 中使用 collection.counter() 函数比较两个列表

counter() 函数返回一个字典,该字典包含列表中的所有元素及其频率作为键值对。我们可以比较这本字典来检查是否相等以及更多。

例如,

import collections
l1 = [1, 2, 3]
l2 = [3, 2, 1]

if(collections.Counter(l1)==collections.Counter(l2)):
    print("Equal")
else:
    print("Not Equal")

输出:

Equal
Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python List