【主要内容】
1. dict
用大括号{} 括起来. 内部使用key:value的形式来保存数据
{'jay':'周杰伦', "jj":'林俊杰'}
注意:字典的key必须是可哈希的. 不可变的, value 没有限制
不是按照我们保存的顺序保存的, 无序的
2. 增删改查
1. dict[不存在的key] = value, setdefault()
2. pop(key). del dict[key]. popitem(), clear()
3. dict[存在的key] = 新值, d1.update(d2) 把d2的k-v更新到d1中
4. get(key, 默认值), setdefault(), dict[key]
3. 字典的常用方法
1. keys() 返回所有字典的key的集合(高仿列表)
2. values() 返回所有的value的集合
3. items() 返回键值对. 元组
解构:
a, b = (1, 2)
4. 字典的嵌套
【代码】
1、字典的常用操作
1 dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"} 2 # print(dic.keys()) # 拿到所有的key, 返回key的集合. 像是列表. 但是不是列表 3 # 4 # for key in dic.keys(): # 可以进行迭代循环 5 # print(key) 6 7 # print(dic.values()) 8 # for value in dic.values(): 9 # print(value) 10 # dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"} 11 # print(dic.items()) # 拿到键值对 12 # # 遍历dict 13 # for k, v in dic.items(): 14 # print(k , v) 15 16 17 18 # for k, v in dic.items(): 19 # # = item # (key, value) 20 # # print(item) # (key, value) 21 # print(k,v) 22 23 # 解构 . 解包 24 # a, b = (1, 2) 25 # print(a) 26 # print(b) 27 28 # a, b, c = ("马化腾", "马云", "马良") 29 # print(b) 30 31 # a, b = [1, 2] 32 # print(a, b)
2、字典的嵌套
1 dic = { 2 "name":"汪峰", 3 "age": 58, 4 "wife":{ 5 "name":"国际章", 6 "salary": 180000, 7 "age": 37 8 }, 9 "children":[ 10 {"name":"老大", "age": 18}, 11 {"name":"老二", "age": 118} 12 ] 13 } 14 print(dic["children"][1]["age"]) 15 16 print(dic["wife"]['salary'])
3、字典的for循环
1 dic = {1: 'a', 2:'b', 3:'c'} 2 for a in dic: # 直接循环字典.拿到的是key 3 4 print(a) 5 print(dic[a])
4、作业与练习
1 ''' 2 # 把班级学生数学考试成绩录入到一个列表中,并求平均值,要求录入的时候要带着学生姓名和成绩,例如:张三_44 3 lst=[] 4 while 1: 5 stu = input("请输入学生姓名和成绩(姓名_成绩),输入Q或q退出录入:") 6 if stu.upper() == 'Q': 7 break 8 lst.append(stu) 9 sum=0 10 for el in lst: 11 li=el.split("_") 12 sum+=int(li[1]) 13 print(sum/len(lst)) 14 15 #*****************本次内容练习********************** 16 dic={"及时雨":"宋江","易大师":"剑圣","维恩":"暗影猎手"} 17 for k,v in dic.items(): 18 print(k,v) 19 ''' 20 dic={ 21 "name":"汪峰", 22 "age":58, 23 "wife":{ 24 "name":"国际章", 25 "salay":18000, 26 "age":37 27 }, 28 "children":[ 29 {"name":"老大","age":18} , 30 {"name":"老二","age":8} 31 ] 32 } 33 print(dic["children"][1]["age"])