python去重且顺序不变

您所在的位置:网站首页 list转成map且顺序不变 python去重且顺序不变

python去重且顺序不变

2024-07-15 08:54| 来源: 网络整理| 查看: 265

**

set函数

**

set是集合,在集合中不能包含重复的元素,接收一个list作为参数

在使用set()函数对列表中元素进行去重后,列表中的元素会变成乱序。如:

list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']

list2=['毛刺','切刀','切刀磨损']

s=set(list1)

s2=set(list2)

print('s=',s)

print('s2=',s2)

#输出结果

s= {'切刀磨损', '切刀表面缺陷', '异物', '切刀', '毛刺'}

s2= {'切刀', '切刀磨损', '毛刺'}

若要使去重后的元素顺序保持i不变,如:

list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']

list2=['毛刺','切刀','切刀磨损']

s=list(set(list1))

s2=list(set(list2))

s.sort(key=list1.index)

s2.sort(key=list2.index)

print('s=',s)

print('s2=',s2)

#输出结果为

s= ['毛刺', '切刀', '切刀磨损', '异物', '切刀表面缺陷']

s2= ['毛刺', '切刀', '切刀磨损']

s.sort(key = list1.index) #这句代码让sort()方法按照ist1列表中索引顺序进行排列。

往set中添加元素使用add(key)方法,重复的元素自动过滤。通过remove(key)方法可以删除元素:如:

list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']

list2=['毛刺','切刀','切刀磨损']

s=set(list1)

s2=set(list2)

s.add('缺陷')

s2.add('磨损')

s.remove('切刀')

s2.remove('切刀')

print(s2)

print(s)

#输出结果为

{'切刀磨损', '毛刺', '磨损'}

{'切刀磨损', '切刀表面缺陷', '异物', '毛刺', '缺陷'}

set求交集和并集。如:

list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']

list2=['毛刺','切刀','切刀磨损']

s=set(list1)

s2=set(list2)

#交集,使用&操作符

s3=s&s2

#并集,使用|操作符

s4=s|s2

print('s3=',s3)

print('s4=',s4)

#输出结果如下

s3= {'切刀', '切刀磨损', '毛刺'}

s4= {'切刀', '切刀磨损', '毛刺', '切刀表面缺陷', '异物'}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3