Python中实现对list做减法操作介绍


Posted in Python onJanuary 09, 2015

问题描述:假设我有这样两个list,

          一个是list1,list1 = [1, 2, 3, 4, 5]
          一个是list2,list2 = [1, 4, 5]
          我们如何得到一个新的list,list3,
          list3中包括所有不在list2中出现的list1中的元素。
          即:list3 = list1 ? list2
         
解决方案:我们可以用set(集合)操作
          list3 = list(set(list1) ? set(list2))
         
          set操作会将一个list转换成一个集合。
          假设:list_t = [1, 2, 3, 1]
          那么:list(set(list_t)) = [1, 2, 3]
          是的,重复的项会被删除。

其他方案:list3 = [i for i in list1 if i not in list2]       #可用于list分片
          这样写也很直观。
          但是在list很大的时候,没有set方法快。

额外知识:a = [[i,j] for i in range(2) for j in range(3)]
          这个和“其他方案”非常相似,
          都是在[]里面进行判断和计算。
          感觉很方便,至少比下面这样要方便、要快:
          a = []
          for i in range(2):
              for j in range(3):
                  a.append([i,j])

某些问题:如果list_tmp = [[1,2],[2,3]]
          即list里面不是单独的元素组成,而是list,
          那么set(list_tmp)会出问题。

还要研究:hash函数

Python 相关文章推荐
python获取糗百图片代码实例
Dec 18 Python
Python字符串处理实现单词反转
Jun 14 Python
PyQt5每天必学之布局管理
Apr 19 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
python数组循环处理方法
Aug 26 Python
django-csrf使用和禁用方式
Mar 13 Python
python实现拼接图片
Mar 23 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
django models里数据表插入数据id自增操作
Jul 15 Python
如何使用Python调整图像大小
Sep 26 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
python base64 decode incorrect padding错误解决方法
Jan 08 #Python
Python中字符编码简介、方法及使用建议
Jan 08 #Python
Python实现一个简单的MySQL类
Jan 07 #Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 #Python
Python中对列表排序实例
Jan 04 #Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 #Python
Python连接mssql数据库编码问题解决方法
Jan 01 #Python
You might like
PHP实现GIF图片验证码
2015/11/04 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
用Python将mysql数据导出成json的方法
2018/08/21 Python
对python中的argv和argc使用详解
2018/12/15 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
pygame实现弹球游戏
2020/04/14 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
如何执行一个shell程序
2012/11/23 面试题
高中班级口号
2014/06/09 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
建国大业电影观后感
2015/06/01 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
教师培训学习心得体会
2016/01/21 职场文书
python 闭包函数详细介绍
2022/04/19 Python