show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次了解了count的词源
- count是列表中的计数函数
- str.split
- 可以 把字符串 切成列表
- 列表
- 可以切 吗?🤔
- 搜索在线帮助
- https://docs.python.org
- 搜索 list
- 索引
- 得到第 i 个元素
- 中括号里有冒号是什么意思
- 说是叫做切片(slice)
- 试试看
- 切片有两个端点
- 开始点
- 结束点
- 这两个点都可以索引到
- 前闭后开
- 开始点是包括的
- 结束点是不包括的
- 前闭后开么!
- 所以结果是['e', 'a']
- 究竟什么是切片呢?
- 直播3小时
- 切出其中的一段视频
- 这就是视频切片
- 这个词怎么来的呢?
- 好几个单词同源
- slit
- slice
- split
- splinter
- 都是撕裂切开
- 把一个整体切分成一个个切片
- 就像切片面包
-
切出其中一段
-
可以切得厚一点么?
- 可以像吃鱼一样吗
- 切头去尾?
- 切头
- 0可以省略
- 由于切片数字要求是前闭后开
- 结束位置
- 如果是列表长度
- 或者大于等于长度
- 或者省略
- 都可以要尾巴
- 中间怎么切呢?
- 还是像以前一样
- 控制
- 开始点
- 结束点
- 前闭后开
- 如果字符串中出现需要转义的字符应该如何呢?
- 转义转义转换含义
- 本质上转义字符也是一个字符
- 不影响索引和切片
- 切片支持负数作为端点吗?
- 将负数当成正数来看就可以了
- 但有一个问题
- 好像最后一片面包'y'就是拿不到?
- 怎么办?
- 松手
- 后面是一个开区间
- 无论多么努力都是不包含在内的
- 干脆松手
- 反而得到了
- 既然 stop 可以空
- 那么 start 可以空么?
- 前面空就是要鱼头
- 都可以空
- 前面可以空
- 后面可以空
- 前面后面都可以空
- 空生万有
- 这个切片操作会对原来的列表有影响么?
- 列表的切片还是列表
- 列表不会因为切片而变化
- 但如果我对切片赋值呢?
- 影响切片就是在影响整个列表
- 这过程中发生了什么呢?
- 用id观察地址
- l的地址没有变
- 但是从l[2:]这个切片开始后面变了
- 这有点像移花接木
- 嫁接技术
- 砧木是[1,2,3,4,5]
- 接穗是['a', 'b']
- 这是嫁接到尾巴上
- 可以在前面嫁接吗?
- 车头也可以换
- 换的时候数量不对等可以吗?
- 都可以的
- 就是添几节车厢
- 尾巴上修改也一样吗?
-
留下前两片
- 后面加黄油和鸡蛋
-
可以夹着吃吗?
- Tuna sandwich
- 找到中间面包
- 可以来个双层堡吗?
- 找到前面和后面的位置
- 双层牛肉
- 能否使用0、1、2 三片面包
- 制作一个双层牛肉堡呢?
- 可以把原来的东西去了
- 然后把新的夹心放进去
- 能否不去掉原来的夹心
- 直接把新夹心放进去呢?
- 也可以的
- l[1:1] 是一个 空列表
- 空列表也可以被替换
- 留三片面包
- 加入汉堡
- 这次我们了解了切片操作
- 切片和索引有点像
- 索引得到的是一个列表项
- 切片得到的是一个列表
- 里面有很多列表项
- 切片主要有2个端点
- 这两个端点本质上都是索引值
- 开始 包括在内
- 结束 不包括在内
- 列表切片具体有什么应用呢?🤔
- 下次再说 👋