开发者

python如何获取list字典的交集、并集和差集

目录
  • 1. List
    • 1.1 set运算符法
    • 1.2 set函数法
    • 1.3 多个list的交并差集
  • 2. 字典 dict
    • 2.1 keys
    • 2.2 items (keys, values)
  • 总结

    1. List

    Example

    a = list编程客栈([1, 3, 5, 2, 10])
    b = list([1, 4, 5, 10, 20])

    1.1 set运算符法

    # 求交集
    list(set(a) & set(b)) # [1, 10, 5]
    # 求并集
    list(set(a) | set(b)) # [1, 2, 3, 4, 5, 10, 20]
    # 求差集
    # a有而b没有
    list(set(a) - set(b))  # [2, 3]
    # b有而a没有
    list(set(b) - set(a)) # [4, 20]
    # 对称差集
    list(set(a) ^ set(b))  # [2, 3, 4, 20]

    1.2 set函数法

    # 求交集
    list(set(a).intersection(b)) # [1, 10, 5]
    # 求并集
    list(set(a).union(b)) # [1, 2, 3, 4, 5, 10, 20]
    # 求差集
    # a有而b没有
    list(set(a).difference(set(b)))  # [2, 3]
    # b有而a没有
    list(set(b).difference(set(a))) # [4, 20]
    # 对称差集
    list(set(a).symmetric_difference(setpython(b)))  # [2, 3, 4, 20]

    1.3 多个list的交并差集

    a =iYemqClILb list([1, 3, 5, 2, 10]js)
    b = list([1, 4, 5, 10, 20])
    c = li编程st([2, 4, 1, 5, 7, 10])
    
    # 求交集
    list(set(a).intersection(b, c)) # [1, 10, 5]
    # 求并集
    list(set(a).union(b)) # [1, 2, 3, 4, 5, 20, 7, 10]
    # a中独有而b, c中没有
    list(set(a).difference(b, c)) # [3]

    2. 字典 dict

    Example

    a = {
       'x' : 1,
       'y' : 2,
       'z' : 3
    }
    
    b = {
       'w' : 9,
       'x' : 5,
       'y' : 2
    }

    2.1 keys

    # 交集
    a.keys() & b.keys()
    # 并集
    a.keys() | b.keys()
    # 差集
    a.keys() - b.keys()
    b.keys() - a.keys()

    2.2 items (keys, values)

    # 交集
    a.items() & b.items()
    # 并集
    a.items() | b.items()
    # 差集
    a.items() - b.items()
    b.items() - a.items()

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜