python集合的加减_python 中对list做减法操作

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中Comparable实现对象的比较

/* class A implements Comaprable<A>{ } 那么 A x new A(); 类关系图 Object o A; Object Comparable c A; | Comparable A 实现了 Comparable 接口嘛 …

linux db2 归档,DB2的归档模式设置方法

当做在线备份&#xff0c;即加上online参数后&#xff0c;可以看到如下告警&#xff1a;[db2inst1localhost backup]$ db2 backup db sample online to /dev/nullSQL2413N Online backup is not allowed because the database is not recoverableor a backup pending condition…

css提取页面元素唯一性_下面这个函数,能够获取一个元素的任意 CSS 属性值。...

在对网页进行调试的过程中&#xff0c;经常会用到js来获取元素的CSS样式&#xff0c;方法有很多很多&#xff0c;现在仅把我经常用的方法总结如下&#xff1a;1. obj.style&#xff1a;这个方法只能JS只能获取写在html标签中的写在style属性中的值(style”…”)&#xff0c;而无…

Linux检查依赖库,linux 查看依赖库

readelf -d libsurfaceflinger.so打印出来的数据如下&#xff1a;Dynamic section at offset 0xb4 contains 37 entries:Tag Type Name/Value0x00000001 (NEEDED) Shared library: [liblog.so]0x00000001 (NEEDED) …

java中final注意的问题

public class Test{public static void main(String[] args){Person p new Person();} } /* 4.修饰的变量是一个常量(所有字符都大些 XXX 或者 XXX_XXX)&#xff0c;只能赋值一次!final 固化的都是显示初始化的值(定义并初始化)&#xff08;或者构造函数中的特定初始化的值&am…

android判断点击次数_Android应用统计-使用时长及次数统计(一)

关键字&#xff1a; 应用统计 Android源码 应用使用时长 应用使用次数最近在做有关于应用统计有关的工作&#xff0c;主要是统计系统中客户端应用(非系统自带的那些基础应用&#xff0c;比如DownLoadManager)&#xff0c;在每一天的使用情况&#xff0c;统计内容包括&#xff1…

linux+cp+-rdf,简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)

本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建。该项目可在python2和python3上运行通过。注&#xff1a;KBQA即是我们通常所说的基于知识图谱的问答系统。这里简单构建的EasyKBQA&#xff0c;数据来源于网络&#xff0c;源码地址看下面补充说明。目录&#xff1a…

java中Object.equals()简单用法

/* equals&#xff08;&#xff09;方法默认的比较两个对象的引用&#xff01; */ class Child {int num;public Child(int x){num x;}//人文的抛出运行时异常的好处是&#xff1a;可以自定义错误信息&#xff01;/*public boolean equals(Object o) throws ClassCastExceptio…

cmd imp导入dmp文件_oracle导入dmp文件的2种方法

使用imp、impdp方式导入数据1.使用imp导入数据打开cmd窗口&#xff0c;然后直接敲入一下命令即可&#xff0c;需要注意的是&#xff0c;要事先把dmp文件放到正确的路径中去imp yx_base/yx_192. file E:\yxb\yx_base.dmp log E:\yxb\yx_base.log full y2.使用impdp导入数据(1…

from server sql 拼接统计两个子查询_[SQL SERVER系列]之嵌套子查询和相关子查询

子查询有两种类型&#xff0c;一种是只返回一个单值的子查询&#xff0c;这时它可以用在一个单值可以使用的地方&#xff0c;这时子查询可以看作是一个拥有返回值的函数&#xff1b;另外一种是返回一列值的子查询&#xff0c;这时子查询可以看作是一个在内存中临时存在的数据表…

java中包容易出现的错误及权限问题

/* 3&#xff0c;权限在不同地方的体现&#xff1a; public protected default private 同一类中&#xff1a; ok ok ok ok 同一包中&#xff1a; ok ok ok 子类中&#xff1a; ok ok …

c语言程序算一元二次方程,如何用C语言来计算一元二次方程

C语言实现一元二次方程的解 源程序#include#includefloat x1,x2,p,q,d;float great_than_zero(float,float);float equql_to_zero(float,float);float smaller_than_zero(float,float);main(){float a,b,c;printf(“Enter a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);db…

cosin等于多少_cos45度等于多少

cos45度√2/2。角A的邻边比斜边叫做角A的余弦&#xff0c;记作cosA(由余弦英文cosine简写得来)&#xff0c;即cosA等于角A的邻边/斜边(直角三角形)。二倍角公式sin2α2sinαcosαtan2α2tanα/(1-tan^2(α))cos2αcos^2(α)-sin^2(α)2cos^2(α)-11-2sin^2(α)积化和差公式sinα…

c语言宏定义比较三个数大小,C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。...

1.C语言中两个宏进行大小对比&#xff0c;其中一个没有定义&#xff0c;这种行为如何定义呢&#xff1f;在学习U-boot的过程中遇到这么一个定义&#xff1a;# if (CONFIG_ENV_ADDR > CONFIG_SYS_MONITOR_BASE) && \(CONFIG_ENV_ADDR CONFIG_ENV_SIZE) < \(CONFI…

java中变量运算细节 (2)

/* 目的&#xff1a;测试变量的运算方式 结果&#xff1a;byte a, b, c;a bc;或者 a b10形如这种形式的算式&#xff0c; 等式的右边的运算结果默认的都是int型的&#xff01;因为等式右边有变量&#xff0c; 编译器无法确定变量的内容&#xff0c;因为它是变量&#xff01;所…

c语言设计二级考试程序修改题,全国计算机二级考试C语言复习题与答案解析

全国计算机二级考试C语言复习题与答案解析三、程序修改题下列给定程序中函数fun的功能是&#xff1a;将长整型数中各位上为奇数的数依次取出&#xff0c;构成一个新数放在t中。高位仍在高位&#xff0c;低位仍在低位。例如&#xff0c;当s中的数为87653142时&#xff0c;t中的数…

ccs变量观察窗口在哪_CCS3.3查看变量图形

CCS3.3查看变量图形首先声明&#xff0c;觉得ccs3.3中Graph并不是什么量都可以观察的&#xff0c;原因是跟断点有关&#xff0c;反正对于我的仿真器XDS510的是如此。即程序运行到断点处会有延时&#xff0c;对于普通信号可能没什么影响&#xff0c;但对于高频信号来说&#xff…

poj 2777(线段树的节点更新策略)

1 /*2 之前的思想是用回溯的方式进行颜色的更新的&#xff01;如果用回溯的方法的话&#xff0c;就是将每一个节点的颜色都要更新3 通过子节点的颜色情况来判断父节点的颜色情况 &#xff01;这就是TLE的原因&#xff01;4 5 后来想一想没有必要 &#xff01;加入[a, b] 区间有…

c语言计算机编程例题详解,计算机C语言编写程序题及答案解析精选.doc

计算机C语言编写程序题及答案解析精选2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为&#xff1a;0.315% 期限一年0.330% 期限二年月息利率 &#xff1d; 0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本…

mfsort shell语法_Shell中字符串排序的几种方法

Shell中字符串排序的几种方法【方法一】按ASCII正向排序备注:1) tr将子字符串中的空白转换为换行符&#xff0c;再用sort排序2) sort无参的话&#xff0c;默认按ASCII正向排序【方法二】按ASCII正向排序备注:1) -r参数: 按ASCII码反向排序2) 在使用sort,uniq等组合命令时候【方…