python列表list排序不变去重

本文共有452个字,关键词:

问题: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
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论