Python3列表(list)⽐较操作教程
⼀、相等⽐较
1.1 同顺序列表⽐较
顺序相同直接⽤“==”进⾏⽐较即可
list1 = ["one","two","three"]
list2 = ["one","two","three"]
list1 == list2
2.1 不同顺序列表进⾏⽐较
“==”只有成员、成员位置都相同时才返回True,但有时候我们希望只要成员相同、即使成员位置不同也能返回True。
2.1.1 使⽤列表sort()⽅法进⾏排序后⽐较
列表本⾝有sort()内置⽅法,可对⾃⾝成员进⾏排序;注意sort()⽅法对⾃⾝造成改变。
list1 = ["one","two","three"]
list2 = ["one","three","two"]
list1.sort() == list2.sort()
print(list1)
2.1.2 使⽤sorted()⽅法进⾏排序后⽐较
上⼀⼩节介绍的sort()⽅法会对列表成员进⾏重排,但有时候我们并不希望列表本⾝被改动。
我们可以⽤⼀下变量将原先的列表保存起来,但更好的做法是使⽤sorted()⽅法,sorted()不改变列表原本顺序⽽是新⽣成⼀个排序后的列表并返回。
list1 = ["one","two","three"]
list2 = ["one","three","two"]
sorted(list1) == sorted(list2)
print(list1)
sorted(list1)
⼆、包含⽐较sortedlist
直接⽤列表本⾝进⾏包含类⽐较,只能⽤遍历的⽅法这是⽐较⿇烦的,使⽤set()转成集合进⾏包含⽐较就简单多了。
2.1 判断列表是否包含另⼀列表
list1 = ["one","two","three"]
list2 = ["one","three","two","four"]
set(list1).issubset(set(list2))
set(list2).issuperset(set(list1))
2.2 获取两个列表相同成员(交集)
list1 = ["one","two","three","five"]
list2 = ["one","three","two","four"]
set(list1).intersection(set(list2))
2.3 获取两个列表不同成员
list1 = ["one","two","three","five"]
list2 = ["one","three","two","four"]
set(list1).symmetric_difference(set(list2))
2.4 获取⼀个列表中不是另⼀个列表成员的成员(差集)
list1 = ["one","two","three","five"]
list2 = ["one","three","two","four"]
set(list1).difference(set(list2))
set(list2).difference(set(list1))
2.5 获取两个列表所有成员(并集)list1 = ["one","two","three","five"]
list2 = ["one","three","two","four"]
set(list1).union(set(list2))
参考:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论