list去重
来源:互联网 发布:m328晶体管测试仪编程 编辑:程序博客网 时间:2024/05/16 04:02
去除list中重复的元素
a = [1,2,3,4,5,6,7,2,1,3,5,6,7,8]
方法一:enumerate()
a = [item for index,item in enumerate(a) if index==a.index(item)][1,2,3,4,5,6,7,8]
注:Python的内置函数 enumerate(index,item,索引起始值)
统计文件的行数:
count = -1for index,item in enumerate(open(filename,'r')) count += 1
方法二:for循环
new_list = []for i in a: if i not in new_list: new_list.append(i)print(new_list)
方法三:set()
new_list = list(set(a))
方法四:lambda reduce()
func = lambda x,y:x if y in x else x+[y]reduce(func,[[],]+a)
方法五:itertools模块
import itertoolsa = [1,2,3,4,5,6,7,2,1,3,5,6,7,8]a.sort()new_group = itertools.groupby(a)for index,item in new_group: print(index)
方法六:函数
def delRepeat(list): for i in list: while list.count(i)>1: del list[list.index(i)] return list
方法七:快速排序
如下,只需要把集合修改为单值元素
import randoma = [1,2,3,4,5,6,7,2,1,3,5,6,7,8]def qsort(a): if len(a)<2:return a pivot_element = random.choice(a) small = [i for i in a if i ==pivot_elelment] large = [i for in in a if i>pivot_element] return qsort(small)+[pivot_element]+qsort(large)print(qsort(a))
方法八:fromkeys()
new_list = {}.fromkeys(a).keys()print new_list
阅读全文
0 0
- python list去重
- List去重
- C# List去重
- list集合去重
- list 去重
- List去重
- List<对象>去重
- list去重排序
- python list 去重
- List<对象>去重
- Python list去重
- List集合去重
- List去重
- List排序去重
- python list 去重
- java list 去重
- list列表去重
- List集合去重
- socket网络协议
- BZOJ2243
- Java集合---ConcurrentHashMap原理
- 删除表中重复数据
- maven 笔记
- list去重
- ZOJ 3537-Cake(凸包+最优三角刨分+区间DP)
- 泛型
- Sentence-LDA的介绍及程序
- Java类加载器原理解析
- NFS 文件系统
- 海量数据取交集、并集-bitmap VS Redis
- 阿里巴巴2018届校招秋招简历评估面经
- HDU