2023.04.20
笔记代码部分
# Date : 2023/4/20 11:09
# File : 4.20_cha7.py
'''字典'''
'''字典和列表的区别----列表有序,要用偏移量定位,字典无序,通过唯一的键来取值'''
'''字典创建'''
'''第一种创建--使用{}创建字典'''
scores = {'张三': 100, '李四': 98, '王五': 45}
print(scores)
print(type(scores))
'''第二种创建--dict()'''
student = dict(name='jack', age=20)
print(student)
'''空字典'''
d = {}
print(d)
'''获取字典中元素'''
'''第一种方式--[]'''
print(scores['张三'])
# print(scores['不存在的人']) 报错
'''第二种--使用get()'''
print(scores.get('张三'))
print(scores.get('不存在的人')) # 返回none
print(scores.get('不存在的人2', 99)) # 设置默认value,以便指定key不存在时的返回
print(scores.get('张三', 99))
'''字典的常用操作'''
'''key的判断'''
print('张三' in scores)
'''删除'''
del scores['张三']
'''增加'''
scores['Jack'] = 90
print(scores)
'''获取字典视图的方法'''
scores = {'张三': 100, '李四': 98, '王五': 45}
keys = scores.keys()
print(keys) # dict_keys(['张三', '李四', '王五'])
print(type(keys)) # <class 'dict_keys'>
values = scores.values()
print(values) # dict_values([100, 98, 45])
print(type(values)) # <class 'dict_values'>
items = scores.items()
print(items)
print(list(items)) # 转换之后的列表元素是由元组组成
'''字典遍历'''
for i in scores:
print(i, scores[i], scores.get(i))
'''字典的特点'''
# 字典中的所有元素都是一个键值对,key不允许重复,value可以重复
# 字典中的元素是无序的
# 字典中的key必须是不可变对象
# 字典也可以根据需要动态地伸缩
'''字典生成式'''
items = ['a', 'b', 'c']
prices = [96, 78, 85]
d = {item.upper(): prices for item, prices in zip(items, prices)}
print(d) # 如果两项的长度不等,就以短的作为基准
运行结果
C:\Anaconda\envs\pytorch_py37\python.exe D:\python\4.20_cha7.py
{'张三': 100, '李四': 98, '王五': 45}
<class 'dict'>
{'name': 'jack', 'age': 20}
{}
100
100
None
99
100
True
{'李四': 98, '王五': 45, 'Jack': 90}
dict_keys(['张三', '李四', '王五'])
<class 'dict_keys'>
dict_values([100, 98, 45])
<class 'dict_values'>
dict_items([('张三', 100), ('李四', 98), ('王五', 45)])
[('张三', 100), ('李四', 98), ('王五', 45)]
张三 100 100
李四 98 98
王五 45 45
{'A': 96, 'B': 78, 'C': 85}
进程已结束,退出代码0