将列表或数组中的重复元素去掉该怎么办呢?
像C++等去重需要编写循环语句,比较繁琐。
人们在使用Python时,常常借助一个函数即set()函数通过集合论进行去重操作。
即,执行set() 后再执行list()。
语法如下图中所示:
然而,由于集合的性质,该函数执行后的结果会打乱原有的顺序。
虽然结果可能会按升序排列,但是有时我们想要的可能是其既定顺序。
这个有序排列有时可以说是画蛇添足。
如下图中所示:
很多人对此束手无策,在不少场景会弃用该去重方法。
Python到底有没有直接了当的List列表或数组去重方法呢?
答案当然是“有”。
直接简洁的去重方法是通过sorted()函数。
即,执行set() 后再执行sorted()。
语法如下图中所示:
下面,我们看一下其对上述同一列表或数组的执行效果。
通过对比,我们不难发现,其执行结果与list(set())方法无异。
此刻,一个重要参数该粉墨登场了。
key。
其使用方式如下:
下面,我们再看一下其对上述同一列表或数组的执行效果。
此时,我们看到,其执行结果达到了我们的要求。
注:
元素去重后在新列表或数组中的位置以其在原始列表或数组中首次出现的位置为准。