【Python进阶】删除list里的重复元素的三种方法效率分析
来源:互联网 发布:姆希塔良2017数据 编辑:程序博客网 时间:2024/05/17 03:46
sorted(iterable, key=None, reverse=False) --> new sorted list eg. sorted(l, key = l.index),生成一个新的了list, 原list不变
2. sort(...)
L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* eg. l.sort(key = l.index), 返回一个新的list给原来的list
3. index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value. 返回第一个value所在的index
Raises ValueError if the value is not present.
4. pop(...)
L.pop([index]) -> item -- remove and return item at index (default last). remove参数index指向的value,返回的是value
Raises IndexError if list is empty or index is out of range.
5.remove(...)
L.remove(value) -> None -- remove first occurrence of value. remove第一个value, 返回none
Raises ValueError if the value is not present.
6. if __name__ = '__main__'的作用:
模块是对象,并且所有的模块都有一个内置属性__name__,它的值取决于模块是如何应用的。如果import了这个模块,__name__通常为模块文件名,不带路径
或者扩展名。如果不import,像一个标准程序一样运行这个模块,__name__的值将是一个特别缺省的”__main__“
方法一:将列表排序后,从最后一个元素开始循环迭代列表,判断相邻的两个元素是否相等
有赋值,排序操作。由于Pyhton变量也是对象,中每迭代出一个与last_item不相等的元素后,都重新建立一个局部变量并丢弃原来的变量,需要消耗更多内存。
而且由于排序操作,相对位置被破坏了。
def sort_one(list): list.sort() length = len(list) last_item = list[length -1 ] for i in range(len(list) - 2, -1, -1): if last_item == list[i]: list.remove(last_item) else: last_item = list[i]if __name__ == '__main__': sort_one(a) print(a)方法二: 建立一个临时列表,迭代循环出的元素如果不在临时列表里,就将其加入临时列表,最后返回临时列表
每次旨在原来的列表上增加一个索引和值,相比方法一效率更高
def sort_two(list): list.sort() temp_list = [] for value in list: if value not in temp_list: temp_list.append(value) return temp_list if __name__ == '__main__': print(sort_two(a))
方法三:效率最高,使用set,好处是快速,坏处是打乱了列表的顺序,需要重新sort
def sort_three(list): new_list = sorted(set(list)) return new_list if __name__ == '__main__': print(sort_three(a))
- 【Python进阶】删除list里的重复元素的三种方法效率分析
- 三种方法删除列表中重复的元素及效率分析!
- 三种方法删除列表中重复的元素及效率分析!
- python列表删除重复元素的三种方法
- Python 删除list里面的重复元素
- 删除List里的元素
- Java编程:删除 List 元素的三种正确方法
- Java编程:删除 List 元素的三种正确方法
- Java编程:删除 List 元素的三种正确方法
- Java编程:删除 List 元素的三种正确方法
- Java中删除 List 元素的三种正确方法
- Python代码实现:删除一个list里面的重复元素
- python中List添加,删除元素的几种方法
- python中List添加、删除元素的几种方法
- python中List添加、删除元素的几种方法
- python中List添加、删除元素的几种方法
- python list 增加元素的三种方法
- 【Python】简单例题tuple和list的转换;实现删除一个list里重复的元素;对list a进行排序,并且从最后一个开始删除重复元素
- the last time do this the "lucky", or 1992 curry
- WINDOWS 7 配置驱动开发环境(wdk7.60)
- delegate paint
- [转]glibc 内存池管理 ptmalloc
- 更改端口双工模式
- 【Python进阶】删除list里的重复元素的三种方法效率分析
- quick-x创建新项目
- Big Data Science Collection
- MOOC Collection
- android SDK编程学习笔记01
- unity图片内存优化
- Python打包成exe
- UITextView详解
- curl 命令使用