由于两个列表(List)中可能会存在重复的元素,所以我们可以将列表转化成集合(set)进行去重,然后计算交集和差集。

A = ['1','2','3']
B = ['2','4','5'] ##计算交集
print(str(set(A)&set(B))) ##计算差集
print(str(set(A)^set(B)))

运行结果:

{'2'}
{'1', '3', '5', '4'}

标准求交集、并集、差集的方法:

a = [2, 3, 4, 5]
b = [2, 5, 8] ## 一、交集
# 方法一
tmp = [val for val in a if val in b]
print(tmp)
# 结果: [2, 5] # 方法二
print (list(set(a).intersection(set(b))))
# 结果: [2, 5] ## 二、并集
print (list(set(a).union(set(b))))
# 结果: [2, 3, 4, 5, 8] ## 三、差集
print (list(set(a).difference(set(b)))) # a中有而b中没有的
# 结果: [3, 4]

python-比较两个列表中的相同元素和不同元素的更多相关文章

  1. python 判断两个列表中相同和不同的元素

    背景: 在做接口自动化时,通常会判断接口返回中的数据信息,与数据库中返回的数据信息是否一致,比如:将接口返回信息的用户姓名存放到一个列表中,将数据库返回的用户姓名存放到另一个列表中,这时需要判断两个列 ...

  2. python:找出两个列表中相同和不同的元素(使用推导式)

    #接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二', '王七'] a = [x for x in lis ...

  3. 【python比较两个列表list】 python2 cmp() python3 operator模块

    https://www.yiibai.com/python/list_cmp.html 如果元素的类型相同,则执行比较并返回结果.如果元素是不同的类型,则检查它们是否是数字. 如果数字,必要时进行数字 ...

  4. Python面试题 —— 计算列表中出现最多次的字符

    给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式, 当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == &quo ...

  5. python比较两个列表

    两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用k1表示. b列表中的元素在a列表中,但位置不相同,有多少个,用k2表示. 例如: a=[0, 4, 7, 3]b=[7, 1 ...

  6. python求两个列表的并集.交集.差集

    求两个列表的差集 >>> a = [1,2,3] >>> b=[1,2] >>> ################################ ...

  7. python 练习题:将列表中的大写字母转换成小写

    将列表中的大写字母转换成小写如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,L1 = ['Hello', 'World', 18, 'Apple', None]请修改列 ...

  8. 【python】实例-python实现两个字符串中最大的公共子串

    由于python中的for循环不像C++这么灵活,因此该用枚举法实现该算法: C="abcdefhe" D="cdefghe" m=0 n=len(C) E=[ ...

  9. Python中用dict统计列表中元素出现的次数

    01 Python增加元素,不像其他语言使用现实的操作接口,只需要dict[1]=3,如果字典中不存在1,则直接新增元素键值对(1,3),如果存在则替换键1为3. if key in dict:判断出 ...

  10. Python 把两个列表遍历为一个

    两个list, 有对应关系,希望同时完成遍历 用迭代器迭代的方法也不是不可以,python提供了更直观的方法: 可以使用zip把两个list打包 , 类似: list1 = [1,2,3,4] lis ...

随机推荐

  1. 线段树的区间更新 hdu 1698

    ***第一次写的果断超时,所以百度了一下,知道我写的每一次都要递归最底层,这样会花费很多时间,第二次写得线段树的区间更新,因为一个条件写错了,真是让我坑到死, 这样区间相同的不必更新,省了很多时间.. ...

  2. jdk与tomcat的安装部署(CentOS8)(VM)

    一.登陆CentOS8 通过VMware Workstation登陆CentOS8系统   二.VMware Tools安装 1.找到VMware Tools对应文件: VMwareTools-10. ...

  3. docker 原理之 user namespace(下)

    1. user namespace user namespace 主要隔离了安全相关的标识符和属性,包括用户 ID,用户组 ID,key 和 capabilities 等.同样一个用户 id 在不同 ...

  4. 配置Maven项目的pom.xml时遇到input contained no data问题

    1.问题 2.解决 我发现每次当我修改一些部分之后,就会遇到这个问题 我遵循了他的建议重新排列标记属性,然后重新加载就解决了报错 个人怀疑是修改后并没有识别之类的? 最终原因:是我在Maven项目中的 ...

  5. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.11.21)

    百度网盘会员账号共享(11.21更新) 账号:tgc91660 密码:6858hykh 账号:ofj51327 密码:rvzp3251 账号:5799osrb 密码:862lwtr 账号:3730sw ...

  6. K8s集群CoreDNS监控告警最佳实践

    本文分享自华为云社区<K8s集群CoreDNS监控告警最佳实践>,作者:可以交个朋友. 一 背景 coreDNS作为K8s集群中的关键组成部分.主要负责k8s集群中的服务发现,域名解析等功 ...

  7. VMto阿里云的简单过程

    VMto阿里云的简单过程 第一步打开网站 https://smcnext.console.aliyun.com/sourceServers/importMigrationSource?spm=5176 ...

  8. [转帖]Nginx 安全优化

    目录 前言 1.使用 SSL/TLS 证书 2.使用安全密钥交换机制 3.禁用旧的 SSL/TLS 协议 4.禁用 SSL/TLS 弱密码套件 5.禁用不需要的 HTTP 方法 6.防止缓冲区溢出攻击 ...

  9. [转帖]Linux cache参数调优

    https://zhuanlan.zhihu.com/p/136237953 缓存机制(cache)是保证Linux环境下对硬盘/flash操作效率的有效方式.cache建立在内存中,它缓存了硬盘/f ...

  10. Redis监控方法之二

    Redis监控方法之二 背景 前期整理过使用 exporter + prometheus 方式进行Redis监控的搭建过程 最近给同事研究clickhouse时发现 clickhouse 有对应的pl ...