练习代码:
''' 概述: 使用键值(key-value)存储,具有极快的查找速度 key: 1.字典中的key必须唯一 2.key必须生不可变的对象 3.字符串,正数等都是不可变的,可以作为key 4.list是可变的,可以作为key ''' # list用中括号 tuple用小括号 dict用大括号 #用字典存储学生,学生名为key 成绩为value dict1 = {"tom":60,"lilei":70} #元素的访问 #获取:字典名[key] print(dict1["lilei"]) #print(dict1[sunck]) 没有会报错 print(dict1.get("sunck")) #字典没有 不会报错 ,返回None ret = dict1.get("aaa") if ret == None: print("无") else: print("有") print("*************************") #添加 dict1["hanmeimei"] = 90 print(dict1) #一个key对应一个value ,多次对一个value赋值,其实质就是修改值 dict1["lilei"] = 10 print("**************") #删除 dict1.pop("tom") print(dict1) print("**************") #遍历 for key in dict1: print(key,dict1[key]) print("**************") print(dict1.values()) print("**************") for value in dict1.values(): print(value) print("**************") for k,v in dict1.items(): print(k,v) print("**************") #字典是无序的,枚举打印 for i, j in enumerate(dict1): print(i,j) #和 list 比较 #1.查找和插入的速度极快,不会随着key value的增加而变慢 #2.需要大量的内存,内存浪费多 #list #1。查找的速度随着数据量增大而减慢 #2.内存小
运行结果:
D:\pycharm\python\venv\Scripts\python.exe D:/pycharm/python/014dict字典.py
70
None
无
*************************
{'tom': 60, 'hanmeimei': 90, 'lilei': 70}
**************
{'hanmeimei': 90, 'lilei': 10}
**************
hanmeimei 90
lilei 10
**************
dict_values([90, 10])
**************
90
10
**************
hanmeimei 90
lilei 10
**************
0 hanmeimei
1 lilei
Process finished with exit code 0