[python]去除列表中重复元素

lists = [ 20 , 12 , 34 , 12 , 24 , 34 , 55 , 27 ]
print list ( set (lists))

set()是内置的数据类型“集合类型”,它是无序的且值是唯一项的!所以set() 执行的结果就是转为集合且直接去除了重复的元素,再list()则将集合又转回列表类型。 但是,set()是会破坏了排列顺序,如果要保留排序,list(set(lists)) 可改为 sorted(set(lists),key=lists.index)

------------------------------------------------------------

我们需要对List进行排序,Python提供了两个方法
对给定的List L进行排序,
方法1.用List的成员函数sort进行排序
方法2.用built-in函数sorted进行排序(从2.4开始)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sorted - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>> help ( sorted )
Help on built - in function sorted in module __builtin__:
 
sorted (...)
     sorted (iterable, cmp = None , key = None , reverse = False ) - - > new sorted list
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sort - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>> help ( list .sort)
Help on method_descriptor:
 
sort(...)
     L.sort( cmp = None , key = None , reverse = False ) - - stable sort * IN PLACE * ;
     cmp (x, y) - > - 1 , 0 , 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iterable:是可迭代类型; 
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项; 
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项; 
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。 
返回值:是一个经过排序的可迭代类型,与iterable一样。 
  
注;一般来说,cmp和key可以使用lambda表达式。 

sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。 


Fastest way to uniqify a list in Python


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值