问题描述:假设我有这样两个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)会出问题。

python集合的加减_python 中对list做减法操作相关推荐

  1. python pandas excel 修改列_Python中Pandas读取修改excel操作攻略(代码示例)

    本篇文章给大家带来的内容是关于Python中Pandas读取修改excel操作攻略(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 环境:python 3.6.8 以某米赛 ...

  2. python怎么进行数据库增加_python中的数据库增加等操作

    python中的数据库增加等操作 日期:2019-10-10 浏览:814次 评论:0条 侧边栏 """ 1-导入模块 2-创建连接对象 3-创建游标对象 4-使用游标对 ...

  3. python里np什么意思_python中np是做什么的

    在python中,"np"一般是指"numpy"库,是第三方库"numpy"的别名.方法:利用命令"import numpy as ...

  4. python集合与字典区别_Python中的字典与集合

    今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法:Dictionary字典(键值对) 语法: dictionary = {key:value,key:v ...

  5. python给视频加背景音乐_python中加背景音乐如何操作

    在python中加背景音乐的方法: 1.导入pygame资源包: 2.修改音乐的file路径: 3.使用init()方法进行初始化: 4.使用load()方法添加音乐文件: 5.使用play()方法播 ...

  6. python输入如何加单位_Python中的单位转换

    我赞扬在科学计算应用程序中使用显式单位. 使用显式单位类似于刷牙. 它在前面增加了一些乏味,但是从长远来看,您获得的类型安全性可以节省很多麻烦. 比如说,不要让1.25亿美元的轨道器坠毁. 您可能还应 ...

  7. java集合的加减_在JAVA中,对List集合的加减操作

    在日常Java开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变. 一.对原L ...

  8. 如何在VC中加减日期及 CTime COleDateTime的常用操作和比较

    如何在VC中加减日期及 CTime COleDateTime的常用操作和比较 [转贴 2008-10-31 15:51:28]     字号:大 中 小 如何在VC中加减日期  使用CTime类,如: ...

  9. python集合是什么意思_Python集合是什么,为什么应该使用以及如何使用?

    Python集合是什么,为什么应该使用以及如何使用?-1.jpg (34.56 KB, 下载次数: 0) 2018-7-30 18:07 上传 Python集合是什么,为什么应该使用以及如何使用?-2 ...

最新文章

  1. 盘点Git的那些冷门玩法
  2. Python基础-----条件语句与初识基本数据类型(一)
  3. AMD cpu 下 Pytorch 多卡并行卡死问题解决
  4. python一行代码迷宫_通过Python代码实现走迷宫的方法
  5. 旧版台式计算机,7年前老电脑开机比拼 Windows8秒杀XP
  6. [转载] Python中的Phyllotaxis模式| 算法植物学的一个单位
  7. laravel 分页和共多少条 加参数的分页链接
  8. 神州数码笔试题C语言,神州数码笔试真题
  9. 【从嵌入式视角学习香山处理器】一、如何开始?(开发环境搭建)
  10. axure8屏幕滚动_Axure8原型教程:实现滚动效果(小技巧:隐藏滚动条)
  11. 天耀18期 – 07.面向对象-继承、访问权限【作业】
  12. python使用opencv模块画简单的图形
  13. presentation视频录制与编辑
  14. vue+js数据处理,对数组重新构造
  15. c语言项目实践--图书馆管理系统
  16. 选择WMS仓库管理系统之前,企业应该准备些什么
  17. VSCode安装Go环境(详细教程)
  18. 美国三大航空公司均取消国内航班改签费
  19. tcpdump命令总结
  20. 树莓派python工业数据采集系统

热门文章

  1. 7读不出来卡显示无服务器,win7识别不了网络如何解决_win7显示未识别网络的处理方法...
  2. 项目启动时flowable报错提示 version mismatch: library version is *, db version is *
  3. 怎样修改老旧commit的message信息?
  4. flowable BPMN的组件汉化
  5. 企业实战03:Oracle数据库_用户和表空间
  6. 软考 - 法律法规 标准化
  7. 用 Excel+VBA 与 SQL Server 数据库交互
  8. AVFoundation – AVAsset 加载媒体
  9. dnf机械机器人补丁_干货 | 详解工业机器人控制系统架构
  10. JAVA出现空指针异常(初学者)