字典 (非序列类型)
-
声明: dict = {键名: 值, 键名:值}
dict1 = {
“name”:“张三”,
“age”:20
} -
索引: 按照键名索引。
- dict1[“name”]
- 如果没有该键名,则报异常
- dict1.get(“keyname”, defaultValue)
-
字典中键值对的修改
- 如果键名存在,则修改值
- 如果键名不存在,则新增一个键值对
- dict1[“name111”] = “李四”
- dict1.setdefault(“keyname”,defaultValue)
-
计算键值对的个数
- len(dict1)
字典方法:
-
clear : 清除所有键值对
-
copy() 函数返回一个字典的浅复制。
- 返回值,就是复制后的字典
-
fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
-
seq – 字典键值列表。
-
value – 可选参数, 设置键序列(seq)对应的值,默认为 None。
-
遍历函数: for in 遍历
- keys
- values
- items
-
pop 删除 需要给出键名
- 删除某一个键名的键值对,返回值为,该键值对的值。
- 如果键名不存在,则报异常。 需要捕获。
4种创建字典的方法
01 声明方法
#方法一
dict1={
"a":1,
"b":2,
"c":3
}
dict1
02 构造方法
#方法二
dict2=dict(a=1,b=2,c=3)
dict2
03 容器方法
#方法三
dict3=dict([["a",1],("c",3),("b",2)])
dict3
03 zip函数方法
#方法四
list_1=['a',"b","c"]
list_2=[1,2,3]
dict4=dict(zip(list_1,list_2))
dict4
练习
-
名片管理系统
- 交互大框架
==================================================
名片管理系统 V0.01- 添加一个新的名片
- 删除一个名片
- 修改一个名片
- 查 询一个名片
- 显示所有的名片
- 退出系统
==================================================
请输入操作序号:5
-
姓名\tQQ\t微信\t住址
-
aaa 8909 weixin 北京
-
bbb 9099 weixin 上海
-
增:
- 请输入名字, qq, 微信, 住址
-
删
- 请输入要删除的名字
-
改
- 请输入要修改的名字: 请输入名字, qq, 微信, 住址
-
查询某一个人的数据:(模糊查询)
- 请输入要查询的名字:
-
增加僵尸用户: 随机增加100条僵尸用户
- lastName = [“赵”,“钱”,“孙”, “李”]
- firstName = [“小花”,“小红”,“建国”,“国庆”]
- address = [“北京”,“上海”,“青岛”]
-
用户输入一个地址: 例如"北京", 查询地址中含有该地址的用户