python学习Day05--字典

【主要内容】

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"])
原文地址:https://www.cnblogs.com/fengxb1213/p/12290625.html