set集合

  • set 中的元素是不重复的,无序的

  • 里面的元素必须是可hash的,(int str tuple bool)

  • set 就是dict 类型的数据,但是不保存value 只保存 key set集合也用{}表示

  • set() 表示空集合

  • 去重复

    lst = [1,2,3,3,3,3,4,4,5,6]
    s = set(lst)
    lst = list(s)
    print(lst) # [1, 2, 3, 4, 5, 6]

集合的增删改查

set集合增删改查

  1. 增加

    s = {"刘嘉玲", '关之琳', "王祖贤"}
    s.add("郑裕玲")
    print(s)
    s.add("郑裕玲") # 重复的内容不会被添加到set集合中
    print(s)
    s = {"刘嘉玲", '关之琳', "王祖贤"}
    s.update("麻花藤") # 迭代更新
    print(s)
    s.update(["张曼玉", "李若彤","李若彤"])
    print(s)
  2. 删除

    s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李若彤"}
    item = s.pop() # 随机弹出⼀个.
    print(s)
    print(item)
    s.remove("关之琳") # 直接删除元素
    s.remove("马虎疼") # 不不存在这个元素. 删除会报错 print(s)
    s.clear() # 清空set集合.需要注意的是set集合如果是空的. 打印出来是set() 因为要和dict区分的.
    print(s) # set()
  3. 修改

    # set集合中的数据没有索引. 也没有办法去定位一个元素. 所以没有办法进⾏直接修改.
    # 我们可以采用先删除后添加的方式来完成修改操作 s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李若彤"}
    # 把刘嘉玲改成赵本⼭山
    s.remove("刘嘉玲")
    s.add("赵本山")
    print(s)
  4. 查询

    set是⼀一个可迭代对象. 所以可以进行for循环
    
    for el in s:
    print(el)
  5. 常⽤用操作

    s1 = {"刘能", "赵四", "皮长山"}
    s2 = {"刘科长", "冯乡⻓", "皮长山"}
    # b交集 两个集合中的共有元素
    print(s1 & s2) # {'皮长山'}
    print(s1.intersection(s2)) # {'皮长山'}
    print(s1 - s2)  #差集
    print(s1 | s2) #并集 (合集)
    print(s1 & s2) #交集
    print(s1 ^ s2) #对称差集 -- 反交集
    print(s1 > s2) # 超集 -- 父集
    print(s1 < s2) # 子集
    冻结集合(可变 转换成 不可变) -- 更不常用
    f_s = frozenset({1,2,3,4,5})
    dic = {f_s:"1"}
    print(dic)

Python基础篇 -- 集合的更多相关文章

  1. Python基础篇(set集合)

    Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...

  2. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  3. python基础篇之进阶

    python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython  使用c解释器生产 ...

  4. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  5. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  6. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  7. python基础篇(四)

    PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...

  8. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  9. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

随机推荐

  1. 3dmax视频

    http://wenku.baidu.com/course/list/514?tagID=177

  2. 《深入理解Java虚拟机》笔记04 -- 并发锁

    Java虚拟机在操作系统层面会先尽一切可能在虚拟机层面上解决竞争关系,尽可能避免真实的竞争发生.同时,在竞争不激烈的场合,也会试图消除不必要的竞争.实现这些手段的方法包括:偏向锁.轻量级锁.自旋锁.锁 ...

  3. codevs1052 地鼠游戏

    1052 地鼠游戏 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不但学习刻苦,而且善于经常总结.完善自己的学习方法,所以他总能在 ...

  4. Java获取上周,本周,本月,本年,开始结束时间 。日期工具类

    由于获取日期经常会使用到,所有我自己写了一个工具类 1.基本上能用上的都写出来了,包括:1)获取当天的开始时间 2)获取当天的结束时间 3)获取昨天的开始时间 4)获取昨天的结束时间 5)获取明天的开 ...

  5. PAT刷题记录

    1. 1007 素数对猜想 :运行超时 算法问题还是语言本身效率低下? import math def is_prime(num): if num == 2: return num temp = in ...

  6. shell中变量内容的删除,替代

    删除 ${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置 ${varname##strMatch} // 在varname中从头 ...

  7. Luogu P1447 [NOI2010]能量采集 数论??欧拉

    刚学的欧拉反演(在最后)就用上了,挺好$qwq$ 题意:求$\sum_{i=1}^{N}\sum_{j=1}^{M}(2*gcd(i,j)-1)$ 原式 $=2*\sum_{i=1}^{N}\sum_ ...

  8. 配置本地和远程maven仓库

    <mirrors><mirror> <id>alimaven</id> <name>aliyun maven</name> &l ...

  9. 一文读懂DDD

    何为DDD DDD不是架构设计方法,不能把每个设计细节具象化,DDD是一套体系,决定了其开放性,体系中可以用任何一种方法来解决这些问题,但是如果一些关键问题没有具体方案落地,可能让团队无所适从. 有的 ...

  10. nginx的基本操作

    启动 nginx -c /etc/nginx/nginx.conf停止nginx -s stop nginx -s quit pkill -9 nginx重载nginx -s reload文件检测ng ...