show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次了解到列表也可以进行运算
- 加法运算
- 会产生新的列表空间
- 但是高维的列表引用还是被直接复制
- 可以用深拷贝deepcopy制作全新高维列表
- 乘法运算
- 乘法的本质是累加
- 默认的结果使用的是原来的列表引用
- 缝合操作
- 把两个列表里同样位置的元素
- 缝合在一起
- 加法运算
- 缝合里面出现的小括号应该怎么理解呢?🤔
- 小括号这个变量类型为tuple
- 什么是tuple呢?
- 词源来自于五倍体
- 后来被翻译为元组
- 究竟什么是python中的元组呢?
- 元组是
- 内建的 builtin
- 不可变的 immutable
- 序列 sequence
- 对比列表
-
列表是是
- 内建的 builtin
- 可变的 mutable
- 序列 sequence
-
列表和元组都是内建的序列
-
关键就是mu不mutable
-
什么是mutable呢?
- 给音轨静音🔇叫做mute
-
可以mute的音轨是可变的
- mutable
-
不可以变的音轨
- 是immutable
-
im代表否定
- impossible
- immoral
- immotal
-
总之
- immutable就是不能变
- 元组是immutable的
- 这t是一个元组
- 他不是就变了吗?
- 元组不可变
- 指的是他的元组序列是固定的
- 不能变的
- 再去看看
- 相对来说
- 列表里面的列表项
- 是可以修改的
- 是mutable的
- 元组里面的元组项
- 是不能修改的
- 是immutable的
- 我们再去看看tuple的构造方法
- 如果没有参数返回一个空元组
- 再初始化一个空元组
- 引用同一个地址
- 如果元组构造方法的参数是可迭代的变量
- 那么就用可迭代变量的项目做元组项
- 元组也是可迭代类型
- 可以用元组作为元组构造方法的参数吗?
- 如果参数是元组
- 那么返回同一个对象(引用地址)
- 如果是又建立一个一模一样的元组呢?
- 新建元组不会使用相同对象(引用地址)
- 除非是空元组
- 元组对象有没有
- append
- extend
- remove
- sort
- 这类的方法呢?
- 元组的方法相对列表
- 非常简单
- 没有任何修改类的方法
- 只有两个统计类的方法
- count
- index
- 我们来试试
- 计数方法也和列表一样
- 方法和列表一样
- 索引方法三个参数
- 搜索值
- 开始位置 start
- 结束位置 stop
- 既然可以用索引方法
- 可以使用下标索引吗?
- 切片和索引都可以使用
- 切片的结果还是元组
- 索引的结果是具体元素
zodiac = ('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪')
year = int(input("please input year:"))
print(zodiac[(year-4)%12])
- 十二生肖不能变
- 是比较典型的元组
- 这个编程方法叫做
表驱动
- 使用索引的方式代替分值控制语句
- 想要查询细节直接看驱动表
- 提高了程序的可读性
days = (31,28,31,30,31,30,31,31,30,31,30,31)
print(days[2])
- 这样每个月有多少天一目了然
- tuple 元组
- count 计数
- index 索引
- 这次我们了解了元组
- 有了列表为什么还需要有元组呢?
- 因为元组不可变
- 列表可变
- 这就是差异化带来的存在感
- 元组也可以支持索引和切片
- 怎么理解这个不可变(immutable)呢?🤔
- 下次再说 👋