列表list:(打了激素的数组)
数组是只能存储同一种数据类型的结构;
数组: scores[43] = [12, 12.0, "hello"]
定义元组
定义列表
元组是不可变数据类型,不能修改元素;
列表是可变数据类型,可以修改元素;
分析列表的特性(与元组对比)
1>.索引
# 正向索引
# 反向索引
# 拿出列表最后一个元素, 最后一个元素是列表, 再拿出列表的第三个元素,如下 :
2>.切片
# 去掉列表的第一个元素
# 逆序显示
3>.重复, 连接
# 不建议这样连接两个列表,后面有效率更高的方法 ;
4>.成员操作符
列表的增删改查
1>.增
ip 白名单
# 追加元素到列表的最后
# 增加元素到列表的指定位置
# iterable 代表可迭代的;
# 目前学习的可迭代对象有 : str, list, tuple
# 增加多个元素到列表最后
2>.改
# 通过列表的索引,对列表某个索引值重新赋值;
3>.查
# 统计某个元素在列表中出现的次数
# 找到某个值在列表中的索引值
4>.删
# 删除列表中遇到的第一个 value 值
# 删除列表中第 i 个索引值
# 删除除了第一个元素之外的其他索引值
# 删除列表对象
# 删除指定索引对应的值,默认是最后一个元素
# 删除列表的第一个索引(li.pop(0))
5>.其他的排序及逆转
# 排序,如果说都是数字,按照数字大小排序 ;
# 是字母的话,按照 ASCII 码来排序;
# **** 如何查看对应的 ASCII 码 ? ord('a')
# 逆转
列表练习
知识点学习:
python中特有的while....else...语句
如果满足while后面的语句,执行while循环的程序, 如果不满足,执行else里面的程序.
提示: 用户名和密码一一对应
users = ["user1", "user2", "user3"]
passwords = ["123", "456", "789"]
列表构建栈和队列数据结构
1>.栈
栈是先进后出(LIFO-first in last out);
类似于往箱子里面放书;
代码实现如下: (实际应用中这样太麻烦,将来会用类实现)
2>.队列
队列是先进先出(FIFO):
类似于去餐厅买饭排队;
"""
queue = [1, 2,3]
队列操作
1). 入队:enQueue
2). 出队:
3). 查看队列
4). 退出
"""
3>.列表内置方法
cmp
min, max
zip
enumerate
字典(dict)
字典创建
1>.赋值创建字典
# 赋值创建字典 , key-value , 键值对
2>.通过工厂函数创建字典
# 通过工厂函数创建字典
# 通过字典的 fromkeys 方法创建字典,所有元素有一个默认值;
# 如果没有指定默认值,默认为 None;
# 给每个元素设置默认值为 "123";
应用案例: 生成多个银行卡号,并初始化密码为"000000"
分析字典的特性(跟元组和列表比较)
字典不能索引和切片,因为字典是无序的数据类型;
字典不支持重复和连接;
字典支持成员操作符: 判断字典的key值是否在字典中存在; in, not in
字典的增删改查
1>.增
·字典名[key] = value
·d.update(a=1, b=2)
·d.update({'a':1, 'b',2})
·d.setdefault('a', 1)
** 重点: setdefault 和 update方法的不同
# 通过字典名 [key]=value, 将 key-value 添加到字典中
# update 方法实现添加: key 存在,覆盖 value 值, 否则,添加
# setdefault 实现添加: key 存在,不覆盖 value 值, 否则,添加
2>.改
·字典名[key]=value
·d.update({'a':2, 'b':3})
·d.update(a=2, b=3)
3>.查
·查看key值;
·查看value值;
·查看key-value键值对;
·查看key是否存在;
# 查看 key 值
# 查看 value 值
# 查看 key-value 键值对
# 查看 key 是否存在
# 查看指定 key 对应的 value 值;如果 key 不存在,不报错; 如果存在,返回 value 值;
# services['ftp'] 如果 key 不存在,直接报错
4>.删
·d.pop(key) ---> 删除指定 key 的字典元素;
·d.popitem() ---> 随机删除字典的 key-value 元素;
·del d[key] ---> 删除指定 key 的字典元素;
·d.clear() ---> 清空字典元素;
5>.循环遍历字典
# 默认情况下遍历字典的 key 值
字典应用
应用1: 通过字典实现case语句
·目前python不支持case语句;
·实现case语句的两种方式:
1>.if...elif...elif...else...
2>.字典实现