• Python 学习笔记【14】集合


      集合

      去重

      关系测试, 交集、差集、并集、反向(对称)差集

      集合是无序的

      把列表变为集合,去重

    1 list_1 = [1, 4, 5, 7, 3, 6, 7, 9]
    2 list_1 = set(list_1)  # 把列表变为集合,去重
    3 
    4 print(list_1, type(list_1))

      交集、并集、差集

    1 list_1 = set([1, 4, 5, 5, 7, 9, 11, 13, 15, 15])
    2 list_2 = set([2, 4, 5, 5, 8, 10, 12, 14])
    3 
    4 print(list_1, list_2)
    5 print(list_1.intersection(list_2))  # 交集, 相交再去重
    6 print(list_1.union(list_2))  # 并集, 相并再去重
    7 print(list_1.difference(list_2))  # 差集, list_1有,list_2没有,再去重

      子集、父集

    1 list_1 = set([1, 2, 3, 4, 5])
    2 list_2 = set([1, 2])
    3 
    4 print(list_1.issubset(list_2))  # 是否为子集 False
    5 print(list_1.issuperset(list_2))  # 是否为父集 True

       对称差集

    1 list_1 = set([1, 2, 3, 4, 5])
    2 list_2 = set([1, 2, 6, 7, 8])
    3 
    4 print(list_1.symmetric_difference(list_2))  # 对称差集,互相都没有的
    5 print(list_1.difference(list_2))  # 差集,我有你没有的

       isdisjoint

    1 list_1 = set([3, 4, 5])
    2 list_2 = set([6, 7, 8])
    3 
    4 print(list_2.isdisjoint(list_1))  # 如果之间没有交集,返回为True

       用运算符表示关系测试

    1 list_1 = set([1, 2, 3, 4, 5])
    2 list_2 = set([1, 2, 6, 7, 8])
    3 
    4 print(list_1 & list_2)  # 交集 {1, 2}
    5 print(list_1 | list_2)  # 并集 {1, 2, 3, 4, 5, 6, 7, 8}
    6 print(list_1 - list_2)  # 差集 {3, 4, 5}
    7 print(list_1 ^ list_2)  # 对称差集 {3, 4, 5, 6, 7, 8}

       集合的曾删改查及其他

     1 list_1 = set([1, 2, 3, 4, 5])
     2 
     3 list_1.add(999)  # 添加一项
     4 list_1.update([7777, 888, 666])  # 添加多项
     5 list_1.remove(3)  # 删除一项
     6 
     7 print(list_1)
     8 
     9 print(len(list_1))  # set的长度
    10 print(888 in list_1)  # 测试888是否是list_1的成员
    11 print(888 not in list_1)  # 测试888是否不是list_1的成员
    12 print(list_1.pop())  # 随机删除一项,并返回其值
    13 list_1.discard('ddd')  #remove删除不存在的项会报错,discard不会报错
  • 相关阅读:
    NIO通道的学习笔记
    Struts学习笔记(启动过程)
    Struts2学习笔记(ResultType)
    11
    编写类String的构造函数、析构函数和赋值函数(转载)
    new与malloc的区别
    不用判断语句,求两个数中大的那个
    delete p和delete[] p的区别(转)
    (转)虚函数和纯虚函数区别
    不借助第三个变量交换两个整数的值
  • 原文地址:https://www.cnblogs.com/a1-code/p/6018936.html
Copyright © 2020-2023  润新知