Skip to content

Latest commit

 

History

History
238 lines (160 loc) · 4.19 KB

File metadata and controls

238 lines (160 loc) · 4.19 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0461
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

列表 - 可迭代对象 - iterable

回忆

  • 上次我们了解了定点插入
    • 相对原来的追加append
  • 排好序之后定点插入很有用
    • 定点插入insert
    • 定点删除pop

图片描述

  • 可以在定点切开吗?

提问

图片描述

  • 有没有什么函数或方法可以实现呢?

在提问箱

图片描述

  • 得到str.split

切分

help(str.split)
  • 含义

图片描述

  • 让字符串
    • 调用自身的 split 方法
    • 返回的就是一个 list

split

"oeasy".split("a")
  • 可以切开
    • 两段 放入列表

图片描述

  • 如果有多个位置可以切开呢?

多次切开

s = "oeasyo2zo3z"
s.split("o")
  • 效果

图片描述

  • str.split
    • 可以 把字符串 切成列表
  • 一般可以用 \n(换行符)
    • 将一个字符串切分成多个行
  • 这听起来很像读写文件

构造环境

  • 首先要
    • 写一个oeasy.txt
oeasy
o2z
o3z
  • 写完之后保存并退出

图片描述

  • 具体怎么读取这个文件呢?

文件

with open("oeasy.txt") as f:
    l = list(f)
    print(type(l))
    print(l)
  • 保存并运行 结果

图片描述

  • 为什么文件f、字符串、range函数返回的结果
    • 都可以转化为 列表类型呢?
  • 究竟应该如何理解 列表类型 呢?

查看说明文档

  • 列表是可变的序列

  • list构造函数如果没有接收到参数

    • 就构造一个空列表

图片描述

  • 如果list构造函数接收到参数
    • 那这个参数必须得是iterable的
  • 什么是iterable呢?

iterate

  • iterate
    • 迭代

图片描述

  • 来自于
    • 反复说某话
    • 反复做某事

iterative

  • iterative
    • 迭代的

图片描述

iteration

  • iteration
    • 循环

图片描述

  • 年复一年

iterable

  • iterable
    • 就是可以循环遍历的东西
    • 叫做可迭代对象
    • iterable object

图片描述

  • 文件对象里面
    • 有很多行
    • 读出来的结果是什么类型呢?

文件读取

with open("oeasy.txt") as f:
    lines = f.readlines()
    print(type(lines))
    print(lines)
  • 读取出来的类型是
    • 列表
    • list
  • 属于是
    • 一行一行地
    • 迭代
    • iterate

图片描述

  • 字符串可以迭代吗?

字符串

  • 字符串对象里面有
    • 很多字符
    • 是可以迭代的
    • iterable

图片描述

range

  • range函数返回
    • 很多数字
    • 是可以迭代的

图片描述

split函数

  • split函数的返回对象
    • 是 字符串切分后的结果列表
    • 也是可迭代的

图片描述

具体应用

图片描述

总结

  • 这次了解
    • 通过 可迭代对象 生成 列表
  • 字符串序列 s
    • 可以把每个字符 转化 为列表项
  • split 切分出 若干 可迭代字符串
    • 也 可以 作为 列表项
  • 可迭代对象还包括
    • 文件对象
    • 字符串对象
    • range函数返回结果对象
  • 如何 选择 列表项呢?🤔
  • 下次再说 👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。