Python对列表去重的多种⽅法(四种⽅法)
⽆聊统计了下列表去重到底有多少种⽅法。下⾯⼩编给⼤家总结⼀下,具体内容详情如下;
开发中对数组、列表去重是⾮常常见的需求,对⼀个list中的id进⾏去重,有下⾯⼏种⽅法,前⾯两种⽅法不能保证顺序,后⾯两种⽅法可以保持原来的顺序。
下⾯的代码都在Python3下测试通过, Python2下请⾃⾏测试
1. 使⽤set的特型,python的set和其他语⾔类似, 是⼀个⽆序不重复元素集
orgList = [1,0,3,7,7,5]
#list()⽅法是把字符串str或元组转成数组
formatList = list(set(orgList))
print (formatList)
结果:
[0, 1, 3, 5, 7]
2. 使⽤keys()⽅法
orgList = [1,0,3,7,7,5]
#list()⽅法是把字符串str或元组转成数组
formatList = list({}.fromkeys(orgList).keys())
print (formatList)
结果:
[0, 1, 3, 5, 7]
上⾯两种⽅法的问题是:结果是没有保持原来的顺序。
3. 循环遍历法
orgList = [1,0,3,7,7,5]
formatList = []
字符串函数去重for id in orgList:
if id not in formatList:
formatList.append(id)
print (formatList)
结果:
[1, 0, 3, 7, 5]
but,这样的代码不够简洁,不够⾼端
4. 按照索引再次排序
orgList = [1,0,3,7,7,5]
formatList = list(set(orgList))
formatList.sort(key=orgList.index)
print (formatList)
结果:
[1, 0, 3, 7, 5]
总结
以上所述是⼩编给⼤家介绍的Python对列表去重的多种⽅法(四种⽅法),希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论