python3 比较列表_Python3列表(list)比较操作教程

一、相等比较

1.1 同顺序列表比较

顺序相同直接用“==”进行比较即可

list1 = ["one","two","three"]

list2= ["one","two","three"]

list1== list2

dfe2165deabf472bbbd6de1706df457e.png

2.1 不同顺序列表进行比较

“==”只有成员、成员位置都相同时才返回True,但有时候我们希望只要成员相同、即使成员位置不同也能返回True。

e94502b29b3afa12f358819a7a164ffc.png

2.1.1 使用列表sort()方法进行排序后比较

列表本身有sort()内置方法,可对自身成员进行排序;注意sort()方法对自身造成改变。

list1 = ["one","two","three"]

list2= ["one","three","two"]

list1.sort()==list2.sort()print(list1)

53d94b59c649010ffe8bbcb09fcdedff.png

2.1.2 使用sorted()方法进行排序后比较

上一小节介绍的sort()方法会对列表成员进行重排,但有时候我们并不希望列表本身被改动。

我们可以用一下变量将原先的列表保存起来,但更好的做法是使用sorted()方法,sorted()不改变列表原本顺序而是新生成一个排序后的列表并返回。

list1 = ["one","two","three"]

list2= ["one","three","two"]

sorted(list1)==sorted(list2)print(list1)

sorted(list1)

66ba8e400b58de0fd39aa869ed9acf16.png

二、包含比较

直接用列表本身进行包含类比较,只能用遍历的方法这是比较麻烦的,使用set()转成集合进行包含比较就简单多了。

2.1 判断列表是否包含另一列表

list1 = ["one","two","three"]

list2= ["one","three","two","four"]

set(list1).issubset(set(list2))

set(list2).issuperset(set(list1))

95f8384679054b4a4eacb30d7e16c3a8.png

2.2 获取两个列表相同成员(交集)

list1 = ["one","two","three","five"]

list2= ["one","three","two","four"]

set(list1).intersection(set(list2))

d6a619aad09131baed1174260a4b2730.png

2.3 获取两个列表不同成员

list1 = ["one","two","three","five"]

list2= ["one","three","two","four"]

set(list1).symmetric_difference(set(list2))

19a04f1b9634f1f03bc16862b602101a.png

2.4 获取一个列表中不是另一个列表成员的成员(差集)

list1 = ["one","two","three","five"]

list2= ["one","three","two","four"]

set(list1).difference(set(list2))

set(list2).difference(set(list1))

c79da3a52682bdc78d405d8e74b535ec.png

2.5 获取两个列表所有成员(并集)

list1 = ["one","two","three","five"]

list2= ["one","three","two","four"]

set(list1).union(set(list2))

417af2748d4239261092a09800e51d5c.png

参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值