show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次了解了列表生成
- 列表作为一个序列容器
- 可以通过range函数返回值得到
- 数值序列 range
- start、stop、step
- 负数
- 前闭后开
- 还有其他元素可以转化为列表吗?🤔
- 试试
- 直接把字符串当做 list 的参数就可以了
- 每个字符都是一个列表项
- 中文也是一样么?
- 太方便了
- 那能把 list 转回 str 么?
- 看起来不行
- 不过没事
- 有什么办法吗?
- eval 可以把字符串变成相应的数据类型
- 能把字符串切分么?
- 让字符串
- 调用自身的 split 方法
- 返回的就是一个 list
- 有点像 readlines
- 通过
\n
把读到的东西
- 通过
- 切分成列表
- 运行结果
- 为什么文件f、字符串、range函数返回的结果对象
- 都可以转化为列表呢?
- list类构造函数的参数
- 应该是一个iterable的
-
什么是iterable呢?
- 就是可以循环遍历的东西
- 比如
- 文件对象里面
- 有很多行
- 字符串对象里面有
- 很多字符
- 字符串切分对象里面
- 有很多字符串
- range函数返回
- 很多数字
- 文件对象里面
-
如果是字节序列呢?
- 看起来是把 ascii 字符的二进制数字存进了列表
- 确认一把
- 确实如此
- 更通用的数字呢?
- 任意字节
- 97确实是"a"字符 ascii 序数
- 被作为列表的第一个元素
- 中文字节流怎么办?
- 不好解决的样子
- 先编码为 utf-8
- 然后在和 ascii 拼接
- 先得到个字节序列
- 这样就把两个字符对应的 4 个字节
- 分别存成了列表项
- 如果想要分字符进行存储
- 手动是可以解决
- 但是如果我想批量自动解决呢?
- 这用到了 for 语句
- 不会也没事
- 我们先去总结一下
- 这次了解了通过可迭代对象生成列表
- 可迭代对象包括
- 文件对象
- 字符串对象
- range函数返回结果对象
- 字节序列
- 字符串序列 s
- 可以把每个字符转化为列表项
- split 切分出列表项
- 中文无压力
- 字节流序列 byte
- 可以直接把字节流转化为相应的数字列表
- 每个列表项都是一个字节
- 如何选择每一个列表项呢?🤔
- 下次再说 👋