Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1423885
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: Python/Ruby

2011-05-31 07:34:09

1. 比较容易记忆的是用内置的set(集合里面元素不可以重复)
  1. l1 = ['b','c','d','b','c','a','a']
  2. l2 = list(set(l1))
  3. print l2

2. 还有一种据说速度更快的
l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2

这两种都有个缺点,祛除重复元素后排序变了:
['a', 'c', 'b', 'd']

如果想保持排序
1. 用list类的sort方法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2

2. 
l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2

或者可以这样写
l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2

爱生活爱技术更爱python
阅读(1700) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~