小技巧:去掉List和Strings中重复的元素并排序

给出a = [3, 3, 5, 7, 7, 5, 4, 2]
使用a = list(set(a)) 

a= [2, 3, 4, 5, 7]

不光删除了重复元素,还进行了排序

小技巧:去掉List和Strings中重复的元素并排序 - 牛皮糖 - 牛皮糖的旅程
 
再来看看字符串吧,同样删除了重复元素,并进行了排序
>>> a = set('abracadabra'
>>> b = set('alacazam'
>>> a                    # unique letters in a 
set(['a', 'r', 'b', 'c', 'd']) 
>>> a - b                # letters in a but not in b 
set(['r', 'd', 'b']) 
>>> a | b               # letters in either a or b 
set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l']) 
>>> a & b               # letters in both a and b 
set(['a', 'c']) 
>>> a ^ b               # letters in a or b but not both 
set(['r', 'd', 'b', 'm', 'z', 'l'])
 
 
请看官网的说明:
Sets
Python also includes a data type for sets. A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.
新增:刚看来的,如果只想删去重复元素,要保持列表的序列的话,可以这么做
  1. # to keep the order use a modified list comprehension
  2. mylist = [ 2, 34, 5, 5, 6, 6, 7, 2 ]
  3. ulist = [ ]
  4. [ulist. append (x ) for x in mylist if x not in ulist ]
  5. print ulist # [2, 34, 5, 6, 7]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值