当前位置: 首页 > news >正文

10. 元组、集合

元组的创建方式

        1. 使用小括号 () t = (1,2,3)

        2. 使用内置函数 tuple(). t1 = tuple((1,2,3,4))

        如果只创建一个元素的元组,必须要有逗号   t2 = (1,)

元组的元素id不能改变

        t = (1, [0,1,2], '222')

        t[0] = 2  直接赋值会报错,但是可以改变列表的值,比如 t[1].append(3)

元组是可迭代对象,可以使用for in 遍历

def tuple_test():
    t = ()
    t1 = tuple()
    t2 = tuple((1, 2, 3))

    print(t, t1, t2)

    t = (1, [0, 1, 2], '222')
    t[1].append(3)
    print(t)  # (1, [0, 1, 2, 3], '222')

 集合

        内置的数据结构

        与列表,字典一样都属于可变类型的序列

        集合是没有value的字典

        集合是无序的

        创建方式:

                使用 花括号 s = {1,2,4,5}

                使用内置函数set() s = set(1,24,5)

                创建空集合,只能使用 set() 如果使用 花括号 则类型为字典 

   集合的判断:
       in 或者 not in
   集合元素的新增操作:
       add(), 一次添加一个元素
       update(),至少添加一个元素, 可以添加 元组,集合,列表
   删除:
       remove(), 一次删除一个元素,如果不存在抛出key Error
       discard(),一次删除一个元素,如果不存在不抛出异常
       pop(), 一次只删除一个任意元素, 不能加参数
       clear(), 清空集合
def set_test():
    s = {1, 22, 44, 6, 7, 4}
    print(s, type(s))

    print(set([1, 2, 4, 5, 6, 7, 7, 8, 9]))

    print(set((1, 22, 4, 55, 66, 77, 77, 8)))

    print(set('python'))  # {'y', 'h', 'n', 't', 'o', 'p'}

    print(set({124, 55, 33, 55, 4, 2, 2}))

    print(set())

    print(1 in s)
    print(22 not in s)
    s.add(888)
    print(s)
    s.update({100, 200})
    print(s)
    s.update([1, 3, 4, 511])
    print(s)
    s.update((1, 3, 4, 5, 6, 7, 8, 9, 1111))
    print(s)

    s.remove(100)
    print(s)
    s.discard(188)
    print(s)
    s.pop()
    print(s)
    s.clear()
    print(s)
    
集合的数学操作
    交集: intersection 或者 &
    并集:union 或者 | 
    差集:difference 或者 -
    对称差集:symmetric_difference 或者 ^
集合生成式:
    同列表生成式一样,把方括号换成花括号
    列表:[i*i for i in range(6)]
    集合:{i*i for i in range(6)}
def set_math():
    s1 = {10, 20, 30, 40}
    s2 = {20, 30, 40, 50, 60}
    print(s1.intersection(s2), s1 & s2)  # 交集

    print(s1.union(s2), s1 | s2)  # 并集

    print(s1.difference(s2), s1 - s2)  # 差集,A集合的内容去掉B集合有的内容

    print(s1.symmetric_difference(s2), s1 ^ s2)  # 对称差集,两个集合的所有不同值

总结:

 

 

相关文章:

  • 清理MySQL中的binlog
  • 计算机毕业设计ssm高校学科竞赛管理系统eolh8系统+程序+源码+lw+远程部署
  • MySQL索引相关知识整理学习
  • Linux——Linux指令2|more指令|less指令|head和tail指令|管道|时间相关的指令|date显示|Cal指令|find指令
  • rollback-only异常令我对事务有了新的认识
  • java基于Springboot+vue的学生公寓宿舍管理系统 elementui
  • MYSQL之外键约束
  • 单点登录和JWT的介绍与使用
  • C/C++ 遍历文件夹(最全方法)
  • 硬件设计基础----二极管
  • 图像处理那些算法
  • 系列学习 SpringCloud-Alibaba 框架之第 3 篇 —— Nacos mysql支持、搭建集群
  • 基苯乙烯微球支载L-脯氨酸磺酰胺/水滑石@磺化聚苯乙烯微球/石蜡聚苯乙烯微球的制备
  • 【Unity3D】固定管线着色器二
  • 大数据ClickHouse进阶(五):副本与分片
  • canvas绘制圆角头像
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • leetcode讲解--894. All Possible Full Binary Trees
  • Map集合、散列表、红黑树介绍
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python学习笔记 字符串拼接
  • react-native 安卓真机环境搭建
  • Redis 中的布隆过滤器
  • TCP拥塞控制
  • XForms - 更强大的Form
  • 多线程 start 和 run 方法到底有什么区别?
  • 分布式事物理论与实践
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 力扣(LeetCode)22
  • 每天10道Java面试题,跟我走,offer有!
  • 配置 PM2 实现代码自动发布
  • 我的zsh配置, 2019最新方案
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #### go map 底层结构 ####
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #git 撤消对文件的更改
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (+4)2.2UML建模图
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)STL算法之元素计数
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (二)fiber的基本认识
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (一) storm的集群安装与配置
  • *2 echo、printf、mkdir命令的应用
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @RequestMapping-占位符映射
  • [Android]使用Retrofit进行网络请求
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [BUUCTF 2018]Online Tool(特详解)