在 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