zoukankan      html  css  js  c++  java
  • python 关于两个list的交、差、补集 运算

    本文主要介绍在Python下求两个list的交集、并集、差(补)集、对称差集的方法。首先,总结了实现上述功能主要的两种方法:1.使用set集合运算符,2.使用set集合的方法(推荐第2种方法)

    1. 总结
    1.1 求两个list的交、并、差(补)、对称差集 - 使用set集合运算符
    输入:

    a = [0,1,2,3,4]
    b = [0,2,6]
    list(set(a) & set(b)) # 使用 "&" 运算求a与b的交集,输出:[0, 2]
    list(set(a) | set(b)) # 使用 "|" 运算求a与b的并集,输出:[0, 1, 2, 3, 4, 6]
    list(set(b) - set(a)) # 使用 "-" 运算求a与b的差(补)集: 求b中有而a中没有的元素,输出:[6]
    list(set(a) - set(b)) # 使用 "-" 运算求a与b的差(补)集: 求a中有而b中没有的元素,输出:[1, 3, 4]
    list(set(a) ^ set(b)) # 使用 "^" 运算求a与b的对称差集,输出:[1, 3, 4, 6]

    输出:

    求交集: list(set(a) & set(b)) 输出 -> [0, 2]
    求并集: list(set(a) | set(b)) 输出 -> [0, 1, 2, 3, 4, 6]
    求差(补)集: list(set(b) - set(a)) 输出 -> [6]
    求差(补)集: list(set(a) - set(b)) 输出 -> [1, 3, 4]
    求对称差集: list(set(a) ^ set(b)) 输出 -> [1, 3, 4, 6]

    1.2 求两个list的交、并、差(补)、对称差集 - 使用set集合的方法 - 高效率
    输入:

    a = [0,1,2,3,4]
    b = [0,2,6]
    list(set(a).intersection(set(b))) # 使用 intersection 求a与b的交集,输出:[0, 2]
    list(set(a).union(b)) # 使用 union 求a与b的并集,输出:[0, 1, 2, 3, 4, 6]
    list(set(b).difference(set(a))) # 使用 difference 求a与b的差(补)集:求b中有而a中没有的元素,输出: [6]
    list(set(a).difference(set(b))) # 使用 difference 求a与b的差(补)集:求a中有而b中没有的元素,输出:[1, 3, 4]
    list(set(a).symmetric_difference(b)) # 使用 symmetric_difference 求a与b的对称差集,输出:[1, 3, 4, 6]

    输出:

    求交集:list(set(a).intersection(set(b)) 输出 --> [0, 2]
    求并集:list(set(a).union(b)) 输出 --> [0, 1, 2, 3, 4, 6]
    求差(补)集: list(set(b).difference(set(a)) 输出 --> [6]
    求差(补)集: list(set(a).difference(set(b))) 输出 --> [1, 3, 4]
    求对称差集: list(set(a).symmetric_difference(b)) 输出 --> [1, 3, 4, 6]


  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/DJRemix/p/12691044.html
Copyright © 2011-2022 走看看