zoukankan      html  css  js  c++  java
  • python基础--集合

    集合

    创建集合

    创建集合使用{}或set(),但是如果创建空集合智能使用set(),因为{}用来创建空字典。

    s1 = {10, 20, 30, 40, 50}
    print(s1)
    s2 = {10, 30, 20, 10, 30, 40, 30, 50}
    print(s2)
    s3 = set('abcdefg')
    print(s3)
    s4 = set()
    print(type(s4)) # set
    s5 = {}
    print(type(s5)) # dict

    特点

      1. 集合可以取消重复数据;
      2. 集合数据是无序的,故不支持下标;
    

    集合常见的操作方法

    2.1 增加数据

    1, add()

    s1 = {10, 20}
    s1.add(100)
    s1.add(10)
    print(s1) # {100, 10, 20}

    因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

    2, update() 追加的数据是序列

    s1 = {10, 20}
    s1.update(100) # 报错
    s1.update([100, 200])
    s1.update('abc')
    print(s1)

    2.2 删除数据

    remove() ,删除集合中的指定数据

    s1 = {10, 20}
    s1.remove(10)
    print(s1)
    s1.remove(10) # 报错
    print(s1)

    discard() ,删除集合中的指定数据,如果数据不存在也不会报错。

    s1 = {10, 20}
    s1.discard(10)
    print(s1)
    s1.discard(10)
    print(s1)

    pop() ,随机删除集合中的某个数据,并返回这个数据

    s1 = {10, 20, 30, 40, 50}
    del_num = s1.pop()
    print(del_num)
    print(s1)

    2.3 查找数据

    in : 判断数据在集合序列
    not in : 判断数据不在集合序列
    s1 = {10, 20, 30, 40, 50}
    print(10 in s1)
    print(10 not in s1)

    常见操作

    增加数据
    1,add()
    2,update()
    删除数据
    1, remove()
    2, discard()

  • 相关阅读:
    洛谷 P1879 [USACO06NOV]玉米田Corn Fields
    洛谷 P2709 小B的询问
    洛谷 P1972 [SDOI2009]HH的项链
    洛谷 P3648 [APIO2014]序列分割
    洛谷 P2157 [SDOI2009]学校食堂
    洛谷 P1198 [JSOI2008]最大数
    洛谷 P3870 [TJOI2009]开关
    【模板】线段树2
    【模板】线段树1
    git之远程标签下载(远程分支)
  • 原文地址:https://www.cnblogs.com/chenpeng03/p/13590781.html
Copyright © 2011-2022 走看看