列表的特点
- 列表的定义
- 列表的索引
- 列表的操作
情景模拟 三国西游排队记
发生在某济医院的排队故事。。。如有雷同,纯属巧合。。。
编剧:py辉
- 边绘流程图边打代码
早上医院开门,设立了排队区
[ ]
- 新建列表,大家有序排队
张飞第一个到,排在了队伍最前面
[‘张飞’]
- 列表添加成员
- 查看队伍的总人数
列表添加成莴
列表.append(成员)
关羽也来了,排在了队伍的后面
[‘张飞’, ‘关羽’]
-
列表添加新成员
-
查看队伍总人数
-
查看张飞和关羽的位置编号
-
查看队伍的长度
len(列表)
- 查看某个成员的位置编号
位置编号 = 列表.index(成员)
大哥来了,二弟三弟礼让,刘备排第一
[‘刘备’, ‘张飞’, ‘关羽’]
-
数据的插队
-
查看队伍的长度
-
刘关张三人的位置索引
-
列表插入数据
列表.insert(索引,数据)
管理员发现插队行为,驱赶插队的刘备
[‘张飞’, ‘关羽’],
-
数据的移出,按位置移
-
数据的移出 pop方法
列表.pop(索引)
让指定索引的数据移出
一对妖怪组团来看病 排在了队伍的后面
[‘张飞’, ‘关羽’, ‘奔波儿霸’, ‘霸波儿奔’]
-
定义一个妖怪团队
-
挂号队列添加妖怪团队
-
查看队伍情况
-
列表a扩展添加列表b
列表a.extend(列表b)
效果就是把列表b中的所有的成员,依次添加到列表a的尾部
- 区别一下前面的添加成员
前面只添加一个对象
列表.append(数据)
刘备要排在关羽后面:“我先来的,刚刚有事”
[‘张飞’, ‘关羽’, ‘刘备’, ‘奔波儿霸’, ‘霸波儿奔’]
-
列表插入数据
-
列表插入数据
列表.insert(索引序号,数据)
- 结果
[‘张飞’, ‘关羽’, ‘刘备’, ‘奔波儿霸’, ‘霸波儿奔’]
关羽有事,关兴替位
[‘张飞’, ‘关兴’, ‘刘备’, ‘奔波儿霸’, ‘霸波儿奔’]
-
按照位置找出关羽
-
把这个位置的数据换成关兴
-
位置的成员替换
把一号位的成员,替换为另一个成员
把关羽替换为关兴
列表[索引] = 新数据
孙悟空来了,大喝一声:妖怪,看你往哪里逃
[‘张飞’, ‘关兴’, ‘刘备’]
-
从队伍中移除两个鱼妖,根据名称移
-
比较一下移除刘备的情况
-
根据成员来移除(前面管理员是根据位置来移除)
列表.remove(成员)
挂号机故障,请去别的窗口重新排队
[‘刘备’, ‘关兴’, ‘张飞’]
- 新的排队顺序,反转了
这个结果大家都满意
- 反转
列表.reverse()
批量发号高效服务
对于刘关张三人,挂号窗口一下子就分配好了他们的挂号单
-
拆包操作
-
拆包操作
变量1,变量2 = [成员1,成员2]
效果
快速赋值
变量1 = 成员1
变量2 = 成员2
故事结束,队伍清空
[ ]
-
列表的清空
-
清空列表
列表.clear()
效果:
影响列表自身,列表为空列表