1、元组和集合

1.1 元组简介

(1)定义元组

元组名 = (元素,元素,元素,元素,)

(2)元组特点:

1)元组也是有序的数据结构【有先后顺序】

2)可以通过偏移来获取元素

3)元组是不可变的对象【不能原地修改】

4)元组不能进行排序和修改操作【元组中的元素不能修改】

(3)特殊元组

a = []                           #  空列表
print(a)
​
b = ()                           #  空元组
print(b)
​
c = ("tom",)                     #  一个元素的元组
print(c)
​
d = ("tom","jerry",""boy)        #  多元素元组
print(d)
​
s1 = 3*(1+4)                     #  数字乘法
print(s1)
​
s2 = 3*(1+4,)                    #  元组乘法
print(s2)

1.2 元组操作

操作1:从元组中取数据

s = ("tom","jerr","bob","jack")
name = s[2]                           #  获取元组中第三个元素
print(name)
​
name = s[1:]                          #  获取元组中第二个元素到最后
print(name)

操作2:类型转换

方法:tuple(列表)

案例:将元组的第三个元素修改为tuoni

s = ("tom","jerr","bob","jack")   # 定义元组
li = list(s)                      # 转换为列表
li[2] = "tuoni"                   # 修改元素
s = tuple(li)                     # 转换成元组
​
print(s)

1.3 集合简介

集合的类别:

(1)不可变集合

(2)可变集合

集合的操作

(1)创建集合

(2)添加集合

(3)删除集合

(4)成员关系

(5)交集、差集、并集

(6)去重

1.4 集合的操作

操作1:创建集合

(1)set() 创建的是不可变集合

(2)frozenset() 创建的是可变集合

s = set("tom")     # 创建集合
print(s)

操作2:在集合添加元素

(1)add:将目标作为整体添加到集合中

(2)update:将目标拆分成一个一个的元素添加到集合中

s = set("tom")
print(s)    # 输出结果 {'t', 'm', 'o'}
​
s.add("jerry")
print(s)
​
s.update("abc")
print(s)
​
s.update("aaaaaaaa")
print(s)

操作3:删除集合中的元素

格式: 集合.remove(元素)

s = set("tom")
print(s)    # 输出结果 {'t', 'm', 'o'}
​
s.remove("m")
print(s)

操作4:成员关系

  • in

  • not int

操作5:交集并集差集

a = set("12345")
b = set("24689")
​
# 获取集合a 和 集合b中都有数字【交集】
res = a & b
print(res)
​
# 获取集合a 和 集合b中的全部的数字,重复的数字只显示依一次【并集】
res = a | b
print(res)
​
# 获取集合a 中有,但是基b中没有的数字【差集】
res = a - b
print(res)
​
# 获取集合a 中有,但是基a中没有的数字【差集】
res = b - a
print(res)

操作6:去重

li = [7,1,2,1,3,1,1,9]    # 定义列表
res = set(li)             # 将列表转换成集合【集合有自动去重的特效,所以可以实现去重效果】
li = list(res)            # 将去重的结果再转换成列表
print(li)

python第三次课:数据结构第二部分----(元组和集合)相关推荐

  1. python自动化测试第三次课-----数据类型,list,元组,切片,字典

    数据类型: 1.string 字符串 1 a = 'catherine' #定义一个变量 2 print(type(a)) #type 方法可以判断这个变量的类型,带引号的一般为string类型 运行 ...

  2. python第三十课--异常(raise关键字)

    演示: 1.手动抛出异常对象-->raise关键字 2.try-except代码不能解决语法错误 try:print('try...')raise TypeError('类型有误的异常') ex ...

  3. python第三十一课--递归(3.递归的弊端)

    演示递归的弊端: def mySum(num):if num == 1:return 1return num+mySum(num-1)mySum(998) [注意]:递归可以解决绝大多数循环能干的事情 ...

  4. Python基础知识总结—数据类型,列表,元组,集合,字典

    目录 数据类型 列表 元组 集合 字典 数据类型 列表 列表(动态数组) 定义空列表[ ] list()可以将其他序列转为列表 如:str类型 列表和字符串一样接收索引与切片 list[索引:切片:步 ...

  5. byteofpython.info_A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列

    第9章 数据结构 数据结构,即可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python 有三种内建的数据结构--列表.元组和字典. list = ['item1', 'item2' ...

  6. 笨办法学 Python · 续 第三部分:数据结构

    第三部分:数据结构 原文:Part III: Data Structures 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你正在以你的方式构建个人流程,它让你以有限的阻碍快速 ...

  7. AcWing基础算法课Level-2 第二讲 数据结构

    AcWing基础算法课Level-2 第二讲 数据结构 单链表 AcWing 826. 单链表3453人打卡 双链表 AcWing 827. 双链表2865人打卡 栈 AcWing 828. 模拟栈3 ...

  8. 数据结构第二课 | 顺序表(详解)

    前言:Hello!大家好,我是@每天都要敲代码,上次我们讲了数据结构第一课时间复杂度和空间复杂度:不明白的小伙伴可以学习一遍时间复杂度和空间复杂度传送门:今天让我们开始一起学习数据结构第二课啦---- ...

  9. 流畅的python学习笔记(三):数据结构(1)

    文章目录 概述 序列 列表推导和生成器表达式 列表推导和可读性 列表推导同filter和map的比较 笛卡尔积 生成器表达式 元组不仅仅是不可变的列表 把元组用作记录 元组拆包 嵌套元组拆包 具名元组 ...

最新文章

  1. sybase存储过程修改
  2. 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
  3. PAT甲级1066 Root of AVL Tree (25分):[C++题解]建立平衡树(AVL树)
  4. Android挂载以点号(.)开头的文件夹或是文件
  5. 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?
  6. 在已安装win10环境中利用EasyBCD引导安装Ubuntu18.04(亲自测试,都是血和泪)
  7. 我的世界无人维护的服务器,我的世界:如何进入9年无人管理的2B2T?全球最大战争服务器!...
  8. 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表
  9. wp7设置浏览器主页
  10. 13.QT中控制台程序console相关设置
  11. 怎么调安卓软件的dpi_无线鼠标怎么选、性价比高的罗技鼠标(M系列)推荐
  12. C语言编程,将26个英文字母大小写输出
  13. 【转载】巴菲特:比能力更重要的是靠谱
  14. 比尔·盖茨退位 | 历史上的今天
  15. pycharm---更改背景颜色
  16. 电力系统仿真软件python_PySpice: 使用ngspice进行电路仿真分析-1:安装
  17. 华为云CDN加速,真正的六边形战士
  18. Android开发中几种布局方式介绍
  19. Qt QPainter鼠标绘制线条、矩形、多边形
  20. Fiddler 手机抓包代理设置(针对华为荣耀60S)

热门文章

  1. 行业观点|鞋企转战个性化定制 打响新消费时尚
  2. Pytorch:手撕ResNet34实现汽车分类
  3. 【强档推荐】网球王子高清桌面壁纸
  4. [week4]每周总结与工作计划
  5. JQuery Mobile(书籍分类检索)
  6. 【自然语言处理】BERT-Whitening
  7. 股票数据抓取接口文章转载
  8. 【sas】tabulate报表
  9. MarkDown文本首行怎么缩进?
  10. android 添加通讯录联系人头像,Android 手机通讯录开发时给联系人添加头像失败的坑...