目录
一、字典中元素的获取
二、常见操作
三、获取字典视图
四、字典的特点
五、字典生成式
六、相关代码
一、字典中元素的获取
1. []
(1)举例:scores[‘张三’]
(2)如果字典中不存在指定的key,抛出keyError
2. get()
(1)举例:scores.get(‘张三’)
(2)如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
二、常见操作
1. 增:scores[‘张三’] = 90
2. 删 del scores[‘张三’]
3. 改 scores[‘张三’] = 90
4. 判断 print(‘张三’ in scores)
5. 遍历 for item in scores:
三、获取字典视图
1. keys = scores.keys()
2. values = scores.values()
3. items = scores.items()
四、字典的特点
1. 字典中的所有元素都是一个键值对,key不允许重复,value可以重复
2. 字典中的元素是无序的
3. 字典中的key必须是不可变对象
4. 字典也可以根据需要动态的伸缩
5. 字典会浪费较大的内存,是一种使用空间换时间的数据结构
五、字典生成式
1. 内置函数zip()
(1)用于将迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表
(2)举例
六、相关代码
# 获取字典的元素
scores = {'张三': 100, '李四': 98, '王五': 45}
# 第一种方式 []
print(scores['张三'])
# print(scores['马奇']) # KeyError
# 第二种方式 get()
print(scores.get('msa'), '无')
# Key的判断
print('张三' in scores)
print('张三' not in scores)
# 清空字典
# scores.clear()
# print(scores)
# Add new element
scores['msa'] = 98
print(scores)
# Modify the element
scores['msa'] = 54
print(scores)
# acquire the perspective of dictionary
keys = scores.keys()
print(keys, type(keys), list(keys))
values = scores.values()
print(values, type(values), list(values))
items = scores.items()
print(items, type(items), list(items)) # 转换之后的列表元素是由元组组成的(元组将在下个章节讲解)
# 字典元素的遍历
for item in scores:
print(item, scores[item], scores.get(item))
# 字典生成式
items = ['Fruits', 'Books', 'Others']
prices = [98, 23, 78]
d = {item.upper():price for item, price in zip(items, prices)}
print(d)