龙空技术网

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

信息科技云课堂 395

前言:

而今各位老铁们对“python列表比较两个列表”可能比较注意,看官们都想要剖析一些“python列表比较两个列表”的相关文章。那么小编同时在网上收集了一些关于“python列表比较两个列表””的相关内容,希望姐妹们能喜欢,兄弟们快快来学习一下吧!

检查两个列表是否相等,我们可以检查两个列表是否在完全相同的位置具有相同的的元素,也可以不考虑列表元素的顺序,检查两个列表是否具有相同的元素。

如果检查两个列表是否在完全相同的位置具有相同的的元素,可以直接进行相等比较。如果不考虑列表元素的顺序,可以有多种方法实现。

使用 sort()

首先对列表进行排序,然后比较两个列表是否相等。

def checkList(lst1, lst2):    lst1.sort()    lst2.sort()    if lst1 == lst2:        print("两个列表相等!")    else:        print("两个列表不相等!")lst1 = ['hello', 'world']lst2 = ['world', 'hello']checkList(lst1, lst2)
使用 Counter()

Counter() 是 collections 库中的一个函数,可以用来统计一个 python 列表、字符串、元组等可迭代对象中每个元素出现的次数,并返回一个字典。此方法忽略元素的顺序,仅考虑元素出现的次数。

「语法格式:」

from collections import Counterdef checkList(lst1, lst2):    lst3 = Counter(lst1)    lst4 = Counter(lst2)    if lst3 == lst4:        print("两个列表相等!")    else:        print("两个列表不相等!")lst1 = ['hello', 'world']lst2 = ['world', 'hello']checkList(lst1, lst2)
使用 array_equal()

我们可以从列表生成两个排序的 numpy 数组,使用 numpy.array_equal() 进行比较,看看它们是否包含相同的元素。

import numpydef checkList(lst1, lst2):    if numpy.array_equal(numpy.array(lst1).sort(), numpy.array(lst2).sort()):        print("两个列表相等!")    else:        print("两个列表不相等!")lst1 = ['hello', 'world']lst2 = ['world', 'hello']checkList(lst1, lst2)

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

标签: #python列表比较两个列表