• 集合(set)


    
    
    '''
    set是一个无序(不支持索引和切片)而且不重复的集合,有些类似于数学中的集合,
    也可以求交集,求并集等,
    '''

    s1={1,2,3,1} #定义一个set s1 如果s1={}为空则默认定义一个字典
    # s1 = set() # 定义空集合
    s2=set([2,5,6])
    print(s1) # s1={1,2,3} 自动去除重复的元素
    s1.add(5) # s1={1,2,3,5} 添加一个元素
    print(s1)
    s3 = s1.difference(s2) # 返回一个s1中存在而不存在于s2的字典s3,s3={1,3},而s1并没有改变
    print(s3)
    s1.difference_update(s2) # s1更新为{1, 3}
    print(s1)
    s1.remove(3) # 移除元素3,s1 = {1}
    print(s1)
    s1.update([11,2,3]) # 更新s1中的元素,其实是添加 s1={11,2,3}
    print(s1)
    k = s1.pop() # 删除一个元素,并将删除的元素返回给一个变量,无序的,所以并不知道删除谁
    print(k)
    s1={1,2,3,4} #这里重新定义了集合s1,s2
    s2={3,4,5,6}
    r1 = s1.intersection(s2) #取交集,并将结果返回给一个新的集合 r1={3,4}
    print('s1与s2的交集:',s1&s2) # {3, 4}
    print(r1)
    s1.intersection_update(s2) #取交集,并将s1更新为取交集后的结果 s1={3,4}
    print(s1)
    print(s1.issubset(s2)) #s1是否是s2的的子序列是的话返回True,否则False 这里true
    print(s1.issuperset(s2)) #s1是否是s2的父序列 False
    print(s1.isdisjoint(s2)) #s1,s2,是否有交集,有的话返回False,没有的话返回True
    s1.update([1,2]) #s1={1, 2, 3, 4}
    print(s1)
    r3 = s1.union(s2) #取并集将结果返回给r3 r3={1,2,3,4,5,6}
    print('s1与s2的并集:',s1|s2) #{1, 2, 3, 4, 5, 6}
    print(r3)
    r2 = s1.symmetric_difference(s2) #r2=s1并s2-s1交s2 r2={1,2,5,6}
    print(r2)
    s1.symmetric_difference_update(s2) #s1更新为 s1并s2 - s1交s2 s1={1,2,5,6}
    print(s1)
    s1.add(99) # 添加元素 s1 = {1, 2, 99, 5, 6}
    print(s1)
    s1.discard(99) #移除元素s1={1, 2, 5, 6}
    print(s1)
    s1.clear() # 清空集合
    print(s1)
     
  • 相关阅读:
    Java Web之Servlet入门篇(二)
    『一本通』KMP算法
    P2865 [USACO06NOV]Roadblocks (次短路)
    字符串算法
    『一本通』哈希和哈希表
    『一本通』广搜的优化技巧
    [SCOI2011]糖果(差分约束系统)
    『一本通』二分与三分
    『一本通』贪心
    『P1122』最大子树和
  • 原文地址:https://www.cnblogs.com/aiyumo/p/11969608.html
Copyright © 2020-2023  润新知