python list去重不打乱排序

##原理:集合本身并不支持索引操作 list() 可以将集合转换为列表,集合转换为列表是读取集合元素的必要步骤,集合转为列表之后,可以成功取值

####python list去重不打乱排序
a=[1,6,3,1,58]
a_ = list(set(a))  #a_中对染去重了,但是顺序以及改变
print(a)
a_.sort(key=a.index)   # 用a中的顺序对a_重新排序
print(a_)  #为什么print(a_.sort(key=a.index)不行呢?
##输出:
[1, 6, 3, 1, 58]
[1, 6, 3, 58]

遇到的坑:
#遇到的坑:
a = {67,0,24,58}
a_ = list(a)
print(a)
a_.sort(key=a.index)
print(a_)

#报错:AttributeError: 'set' object has no attribute 'index'
#错误原因:集合不能索引,只能变成列表后再一个一个读出,索引没有"index"



全部评论

相关推荐

03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务