python——一行代码将列表里的元素去重
来源:互联网 发布:武汉淘宝图片拍摄 编辑:程序博客网 时间:2024/06/05 23:52
今天胡哥又问了我一个问题:用一行代码如何把列表里的元素去重。
比如:
a = [[1, 2, 3], [2, 3, 4], [4, 5], [1, 2, 3]]需要的效果是最后得到1,2,3,4,5。
我脑子里第一闪过的就是用set。
随后试了一下,使用双重列表推导式加set,可以轻松解决。
set([val for i in a for val in i])不了解双重列表推导的同学,可以看我的上一篇博客:双重列表推导式
解决问题后再思考一下,效率是否足够高?
使用双重列表推导式很显然需要循环列表里的每一个元素,最后才统一去重,如果这个列表很大的话,会不会出现
爆内存的情况?
其实set有一个update方法,效果是把不在set内的元素加入到set中。
就是说我们有个set,a = {1, 2, 3, 4, 5},然后set.update([1,2,6]),只有6会加入到a。
所以另一种方法就出现了:
[b.update(val) for val in q]当然这个不能一行解决了,要先b = set(),最后b也是{1, 2, 3, 4, 5}。
阅读全文
0 0
- python——一行代码将列表里的元素去重
- python列表元素去重
- 将列表中的元素去重
- Python 列表元素去重的3种方法
- python列表中元素去重的几种方式
- python列表去重
- python列表去重
- Python列表去重
- python两种列表元素去重函数性能比较
- 对列表元素去重
- 关于Python列表的去重
- python里list去重
- python列表去重方法
- Python 列表list去重
- 一行代码实现java list去重
- 一行代码实现java list去重
- 一行代码实现java list去重
- 一行代码实现java list去重
- Windows 7 系统QT程序发布
- 面试题52:构建乘积数组
- Mysql存储过程的基本结构
- 图像处理与计算机视觉:基础,经典以及最近发展
- NEFU 517 计算幂 二分优化
- python——一行代码将列表里的元素去重
- MySQL 查询表结构和列注释
- OSI七层模型
- 基于Apache poi hssf对xls(excel)文件进行解析
- Java从helloWord到面向对象
- rn 组件和项目
- mysql无法启动ERROR! MySQL is running but PID file could not be found ?
- Hi3519-pinctrl驱动开发①开发环境搭建
- JZOJ 4298. 【NOIP2015模拟11.2晚】我的天