我有一个整数的list排序。但我想删除重复项,所以我使用内置的function集,预计它不会改变位置,但只是为了删除重复项。
它导致我从排序列表中更改了负整数的位置!
从排序列表中删除重复项!我已经尝试了内置集来删除重复但最终改变了负整数的位置
lis=[0,-1,,-1,3,3,1,10]
lis.sort()
l=set(lis)
print(l)
我期望的答案是[-1,0,1,3],但实际输出是[0,1,3,-1]。
分析解答
集合是无序集合,因此它将更改顺序。
Being an unordered collection, sets do not record element position or order of insertion.
https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
要对list进行排序并删除重复项,请尝试
l = sorted(set(lis))