python – 删除列表中的重复项时的奇怪行为
发布时间:2020-12-20 12:27:50 所属栏目:Python 来源:网络整理
导读:我有一个整数列表. 我想做的是对它们进行排序并删除所有重复项. 我在网上看到了两种不同的解决方案.两者似乎都给出了与我期望的结果不同的结果. a = integer_combinations(5,5)print a[4,8,16,32,9,27,81,243,64,256,1024,25,125,625,3125]b = sorted(a)prin
我有一个整数列表.
我想做的是对它们进行排序并删除所有重复项. a = integer_combinations(5,5) print a >>[4,8,16,32,9,27,81,243,64,256,1024,25,125,625,3125] b = sorted(a) print b >>[4,3125] c = dict().fromkeys(sorted(a)).keys() print c >> [32,4,3125,125] 另一种方法,使用集合: d = list(set(b)) print d >> [32,125] What I expect is : >>[4,3125] 有人会知道这种行为的原因吗? 谢谢! 解决方法
这是我会用的:
>>> a = [4,3125] >>> sorted(set(a)) [4,3125] 您的代码无法正常工作的原因是dict不保证其密钥的任何特定顺序.同样,set也无法保证其元素的排序. 因此,分拣步骤必须在最后. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |