如何不破坏顺序去重
输入一组整数后,先去重,然后按照原始数据的顺序,要求不使用循环体,通过sorted()或.sort()里的key值实现去重我是用set()函数,该怎么写sorted()函数的key值??提示是与index方法有关
举例子:
输入:2,2,5,6,7,8,3,2,9
输出: ls =
res = sorted(set(ls), key=ls.index)
print(res) 在东边 发表于 2020-3-19 15:01
请问key值的index方法为什么不用加括号,我一直在想.index()的括号里应该填什么,另外能麻烦你解读一下代码吗 res = sorted(set(ls), key=ls.index)
这行代码先用 set 将原列表去重,然后用 sorted 对去重后的数据进行排序
由于要保留原来的顺序,所以这里的排序依据 key 就应该是数据在原列表中的索引
sorted 函数的 key 参数必须传入一个函数对象,对应到这里就是 ls.index
排序过程就是对 set(ls) 的每一个元素都调用 ls.index,得到的结果作为排序的依据
按照这个依据进行排序,就可以保留原来的顺序 在东边 发表于 2020-3-19 16:47
这行代码先用 set 将原列表去重,然后用 sorted 对去重后的数据进行排序
由于要保留原来的顺序,所以这 ...
谢谢你的耐心解答!
页:
[1]