美文网首页
2021-09-10-P66-P74-元组-马士兵Python教

2021-09-10-P66-P74-元组-马士兵Python教

作者: FFwizard | 来源:发表于2021-09-10 17:44 被阅读0次

2021-08-25

视频链接

课程介绍

1、什么是元祖
2、元祖的创建方式
3、元祖的遍历
4、什么是集合
5、集合的创建
6、集合的增、删、改、查、操作
7、集合生成式

66、什么是元祖

元祖是python内置的数据机构之一,是一个不可变序列。
不可变序列:字符串、元祖,没有增、删、改操作
可变序列:列表、字典:可执行增、删、改操作,操作后,地址不变
元祖是用小括号定义的,列表是用中括号定义的,内容相似

##66、什么是元祖
#可变序列  列表、字典
lst=[10,20,45]
print(id(lst))
lst.append(300)
print(id(lst))  #增、删、改操作,操作后,地址不变
#不可变序列  -- 字符串 元组
s='hello'
print(id(s))
s=s+'world'
print(id(s))   #增、删、改操作,操作后,地址改变
#元组
t=('python','hello')

67、元祖的创建方式

##67、元祖的创建方式
t=('python','world',98)  #直接小括号
t1='python','world',98  #可以省略小括号
t2=('Python')
t3=('Python',) # 如果元祖值包含一个数据的话,需要加一个逗号,否则会被认为是原来的数据类型
print(type(t),type(t1),type(t2),type(t3))
t=tuple(('python','world',98))  #内置函数tuple()
print(type(t))
lst=[]  #空列表的创建方式
d1={}  #空字典的创建方式
d2=dict()  #空字典的创建方式
t4=()  #空元祖的创建方式
t5=tuple()  #空元祖的创建方式
print(type(lst),type(d1),type(d2),type(t4),type(t5))

68、为什么要将元祖设计成不可变序列

一旦创建了不可变对象,那么对象内的所有数据就不能被修改,避免了修改数据导致的错误
多任务环境下,同时操作对象时不需要加锁
多个人对同一数据进行操作增删改时,对正在进行操作的人加锁,只有他能操作,避免数据混乱。
注意:如果元祖中对象是可变对象,则可变对象的引用不许改变,但数据可以改变


image.png
t=10,[20,30],9
print(type(t))
print(t[0],id(t[0]))
print(t[1],id(t[1]))
print(t[2],id(t[2]))
#尝试将t[1]修改为100
print(id(100))
# t[1]=100  #修改中,地址改变了,元祖不允许修改元素
t[1].append(100)  #由于[20,30]是列表,是可变序列,可以向列表中添加元素,而地址不变

69、元祖的遍历

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

##69、元祖的遍历
t='world',[20,30],9
t[0]  #第一种获取元祖元素的方式,使用索引
for i in t:   ##for in  遍历元祖
    print(i)

70、什么是集合

python内置数据结构,集合是可变类型的序列,集合是没有value的字典(无序)
用花括号定义

71、集合的相关操作

判断:in 、not in
新增:add-一个元素、updata-添加多个元素
删除:remove-一个元素、discard-删除一个元素、pop--删除任意一个元素(不知道哪个)

72、集合间的关系

集合是否相等 ==
集合是否是另一个集合的子集 、超集
两个集合是否有交集

##72、集合间的关系
s={10,20,30,40}
s1={30,40,20,10}
print(s==s1)  # True 两个集合是否相等,元素相同即可,无序
s={10,20,30,40}
s1={10,30,40}
s2={10,90}
print(s.issubset(s1))  # True 一个几个是否是另一个集合的子集
print(s.issubset(s2))  # False
print(s1.issuperset(s)) # True 一个集合是否是另一个集合的超集
print(s2.isdisjoint(s1)) # Fasle 两个集合是否含有交集,有交集为False
s4={100,200,300}
print(s4.isdisjoint(s1)) # Fasle 两个集合是否含有交集,没交集为True

73、集合的数学操作

交集、并集、差集、对称交集


image.png
##73、集合的数学操作
s1={10,20,30,40}
s2={20,30,40,50,60}
print(s1.intersection(s2)) #{40, 20, 30} 交集
print(s1 & s2) # 取交集
print(s1.union(s2)) # 取并集
print(s1|s2) # 取并集
print(s1.difference(s2)) #差集 属于s1不属于s2
print(s1.symmetric_difference(s2))  #对称差集,s1+s2去除掉交集的部分
print(s1^ s2)  #对称差集,s1+s2去除掉交集的部分

74、集合生成式

用于生成集合的公式--列表生成式中括号改为大括号即可

lst=[i*i for i in range(1,10)] #列表生成式 有序
s={i*i for i in range(1,10)} #集合生成式 无序
print(lst,s)

列表、字典、元祖、结合总结

image.png

相关文章

  • 2021-09-10-P66-P74-元组-马士兵Python教

    2021-08-25 视频链接[https://www.bilibili.com/video/BV1wD4y1o7...

  • Python基础之元组、字典,集合详解

    之前总结了Python列表,这篇总结Python的元组,字典和集合。 一 元组 tuple Python 的元组与...

  • Python 元组

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改。 1.1 定义元组使用小括号,列...

  • Lesson 016 —— python 元组

    Lesson 016 —— python 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改。 ...

  • python小课堂08 - 基本数据类型元组篇

    python小课堂08 - 基本数据类型元组篇 python中的元组 python中的元组,也是作为基础数据类型之...

  • python 基础 - 元组

    Python 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号...

  • 元祖

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。...

  • Python元组常用方法

    一、前言? ✔本文是Python元组常用方法总结Python的元组与列表类似,不同之处在于元组的元素不能修改,元组...

  • 学习python第六天总结

    一python的基本类型 元组 python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列...

  • Python中的tuple元组

    Python中的tuple元组 一、访问元组 Python中的元组和列表类似,不同之处在于元组中的元素不能够被修改...

网友评论

      本文标题:2021-09-10-P66-P74-元组-马士兵Python教

      本文链接:https://www.haomeiwen.com/subject/vthwwltx.html