zoukankan      html  css  js  c++  java
  • Python 集合(set)的使用总结

    集合的特点:去重、无序,因此无法通过下标取值。

    1. 定义集合

    s = set() #定义空的集合
    s2 = {'1','2','3'} # 不是key -value形式的话就是集合,不是字典
    s3 ={'1','2','3','5','3'}
    print(s3) #打印出来后会去除重复的值 {'3', '1', '5', '2'}
    ls = [1,2,3,4,5,6,5]
    set(ls) #将list强制转换成集合,可以进行去重
    print(set(ls))
    s4 = 'abcdfegabc'
    set(s4) # set可以进行集合运算
    print(set(s4)) #{'c', 'f', 'b', 'g', 'e', 'a', 'd'}

    2. 操作集合

    增加&删除:

    s3 ={'1','2','3','5'}
    s3.add('1') #向集合中添加值,如果是重复的话还是会把重复的去除,因为集合无序所以输出时各个值的位置不定,可能为 {'2', '3', '1', '5'}
    print(s3)
    s3.remove('1') #删除值
    print(s3) 
    s3.pop()#随机删一个值
    print(s3)

    交集&并集&差集&对称差集:

    s2 = {'1','2','3'}
    s3 ={'1','2','5'}
    #交集
    a = s2.intersection(s3) #取交集, s2.intersection(s3) 与 s3.intersection(s2) 一样
    print(a)  #{'2', '1'}
    b = s2.intersection(s3)
    print(b) #{'2', '1'}
    print(s2 & s3) #取交集 {'2', '1'}
    #并集
    print(s2.union(s3)) #取并集 {'2', '5', '3', '1'}
    print(s2|s3)#取并集 {'2', '5', '3', '1'}
    #差集
    print(s2.difference(s3)) #取s2中存在,s3 不存在的,#取差集 {'3'}
    print(s2 - s3) #取差集 {'3'}
    print(s3 - s2) # {'5'}
    #对称差集,取s2, s3 中不同时存在的元素
    print(s2 ^ s3) # {'3', '5'}

    print(s2.symmetric_difference(s3))#对称差集,就是把两个集合中相同的去掉
  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/nancyzhu/p/8253743.html
Copyright © 2011-2022 走看看