博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个列表lst1和lst2,计算两个列表的公共元素和非公共元素
阅读量:5155 次
发布时间:2019-06-13

本文共 899 字,大约阅读时间需要 2 分钟。

方法1:

列表推导式

lst1 = [1, 3, 7]lst2 = [3, 5, 4]a = [x for x in lst1 if x in lst2]b = [y for y in (lst1 + lst2) if y not in a]print(a)print(b)

 

方法2:

普通的for循环

lst1 = [1, 3, 7]lst2 = [3, 5, 4]a = []b = []for i in lst1:    for j in lst2:        if i == j:            a.append(i)for k in (lst1 + lst2):    if k not in a:        b.append(k)print(a)print(b)

 

方法3:

利用集合(set)运算

lst1 = [1, 3, 7]lst2 = [3, 5, 4]a = set(lst1)   # {1, 3, 7}b = set(lst2)   # {3, 5, 4}# 交集 a & b  包含集合a和集合b中的公共元素# print(a & b)      # {3}# 对称差集 a ^ b    包含集合a和集合b中不重复的所有元素# print(a ^ b)      # {1, 4, 5, 7}print(list(a & b))  # [3]print(list(a ^ b))  # [1, 4, 5, 7]# 并集 a | b  包含集合a和集合b中所有的元素# 差集 a - b  包含集合a中有的集合b中没有的元素x = a.symmetric_difference(b)y = a.symmetric_difference_update(b)  # 自我更新不返回对象,即a ^= bprint(x)    # {1, 4, 5, 7}print(y)    # Noneprint(a)    # {1, 4, 5, 7}

  

  

  

转载于:https://www.cnblogs.com/Chan94/p/9536281.html

你可能感兴趣的文章
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>