问题:list如何保证排序不变去除重复元素
方法:
a = [2,3,2,4,2,1,2]
一般去重方法
list(set(a)) # 输出 [1, 2, 3, 4] 这样会出现排序错乱
[*dict.fromkeys(a)] # 输出 [1, 2, 3, 4] 这样会出现排序错乱
sorted(set(a), key=a.index) # 输出 [2, 3, 4, 1] 正确,但数据量大时会卡
from collections import OrderedDict
[*OrderedDict.fromkeys(a)] # 输出 [2, 3, 4, 1] 正确,推荐
参考:
https://www.zhihu.com/tardis/zm/art/421797997?source_id=1005