Skip to content

Latest commit

 

History

History
127 lines (88 loc) · 3.11 KB

201240-233802-000808 iterable_可迭代对象_元组_列表.sy.md

File metadata and controls

127 lines (88 loc) · 3.11 KB
show version enable_checker
step
1.0
true

可迭代iterable对象

回忆

  • 这次主要了解的是for循环语句
  • for循环可以遍历
    • range对象
    • list对象
    • 只要是iterable的对象就可以
  • iterable的对象都有什么?🤔
  • 想要循环起来,单个的应该不可以
  • 我们去回忆下容器类型

容器类型

图片描述

  • 最常用的就是list列表
  • 我们从list开始

观察手册

图片描述

  • list列表可以用可迭代对象当做构造函数的参数
  • iterable的词源是什么呢?

iterable

图片描述

  • iterable的意思就是
    • 可以迭代的
    • 可以遍历的
    • 可以循环的
  • 怎么判断某类的对象是不是iterable的呢?
  • 如果类实现了__iter__方法
    • 他的对象是iterable的对象

list

图片描述

  • list类实现了__iter__方法
  • 所以list类对应的对象
  • 就是可迭代对象
  • 具体用起来

遍历列表

图片描述

  • 那这个就不能用while做么?

while与for比较

图片描述

图片描述

  • while也能做
    • 但是比较麻烦
  • 如果我在循环体中改变列表会发生什么?

重新判断

图片描述

  • 循环体会改变列表
  • 每次会重新进行判断
  • 如果我想让列表不能改变怎么办?

元组

  • 元组对象可以迭代么?

图片描述

图片描述

  • 可以迭代

图片描述

元组可修改么?

  • tuple就是不可变的list
  • list就是可变的tuple

图片描述

  • 元组对象是不能修改的
  • 元组根本append方法
  • 但是for循环条件那里是一个可迭代对象啊
  • 可以根据元组修改么?

转化

图片描述

  • 先把元组转化为列表
  • 再把列表增加元素
  • 然后再转回元组
  • 这不是修改元组
  • 而是替换元组

转化

  • 元组和列表是可以转化的
  • 可变和不可变是可以转化的
  • 阴中有阳
  • 阳中有阴

图片描述

总结

  • 这次主要了解的是for循环语句
  • for循环可以遍历
    • range对象
    • list列表对象
    • tuple元组对象
    • 只要是iterable的对象就可以
  • 如果我要求列表不能重复插入可以么?🤔
  • 下次再说👋