晋城市企业网站,safari浏览器下载,建设部网站城乡规划资质标准,专做衬衫的网站文章目录 字典dict(dictionary)定义特点常用操作1.访问值2.添加键值对3.修改值4.删除键值对5.遍历字典6.合并字典 性能应用场景dict和list的区别 字典dict(dictionary)
以 键 - 值对 (key - value pairs)的形式存储数据
定义
字典使用花括号 {} 来定义#xff0c;键和值之… 文章目录 字典dict(dictionary)定义特点常用操作1.访问值2.添加键值对3.修改值4.删除键值对5.遍历字典6.合并字典 性能应用场景dict和list的区别 字典dict(dictionary)
以 键 - 值对 (key - value pairs)的形式存储数据
定义
字典使用花括号 {} 来定义键和值之间用冒号 分隔不同键值对之间用逗号 , 分隔也可以通过 dict() 函数定义
# 直接使用{}定义
my_dict {name:echo,age:24,city:shanghai}
# 使用 dict() 函数定义
my_dict2 dict(nameecho,age24,cityshanghai)print(my_dict)
print(my_dict2)特点 无序性 键值对没有特定的顺序不能通过索引来访问只能通过键来访问对应的值 字典的可变性 可以添加、删除或修改字典中的键值对 键的唯一性 键是唯一的如果多次赋值会覆盖 键的不可变性 dict通过key计算位置的算法即为哈希算法Hashdict的key必须是不可变对象如字符串、整数等但列表list可变不可作为key
常用操作
1.访问值
通过方括号 [ ] 如果键不存在会抛出keyError异常
my_dict {name:echo,age:24,city:shanghai}value1 my_dict[name]
#value_test my_dict[test]#如果键不存在会抛出keyError异常
print(value1)
#print(value_test)通过 get() 方法 如果键不存在会返回 None 或者自己 指定的value
my_dict {name:echo,age:24,city:shanghai}value2 my_dict.get(city)
value3 my_dict.get(mood)#如果键不存在会返回None或者自己指定的value
value4 my_dict.get(mood,happy)
print(value2)
print(value3)
print(value4)通过 in 判断key是否存在
my_dict {name:echo,age:24,city:shanghai}
print(mood in my_dict)2.添加键值对
直接使用 [ ] 赋值来添加新的键值对
my_dict {name:echo,age:24,city:shanghai}
my_dict[wealth] priceless
print(my_dict[wealth])3.修改值
通过指定键来修改对应的值
my_dict {name:echo,age:24,city:shanghai}
print(my_dict)my_dict[age] 1
print(my_dict[age])4.删除键值对
使用 del 关键字 使用 del 语句根据键删除对应的键值对如果键不存在会抛出KeyError异常
my_dict {name:echo,age:24,city:shanghai}del my_dict[age]
print (my_dict)
# del my_dict[mood] #如果键不存在会抛出KeyError异常使用 pop() 方法 pop() 方法根据键删除对应的键值对并 返回该键对应的值 如果键不存在且未指定默认值会引发 KeyError
my_dict {name:echo,age:24,city:shanghai}value my_dict.pop(city)
print(value)
print(my_dict) #dict内部存放的顺序和key放入的顺序是没有关系的5.遍历字典
遍历键 通过 keys() 方法遍历键
my_dict {name:echo,age:24,city:shanghai}for key in my_dict.keys():print(key)遍历值
使用 values() 方法遍历值
my_dict {name:echo,age:24,city:shanghai}for value in my_dict.values():print(value)遍历键值对 使用 items() 方法遍历键值对
my_dict {name:echo,age:24,city:shanghai}for key,value in my_dict.items():print(f{key}:{value})6.合并字典
可以使用 update() 方法将一个字典的键值对合并到另一个字典中
dict1 {a: 1, b: 2}
dict2 {b: 3, c: 4}
dict1.update(dict2)
print(dict1) # 输出: {a: 1, b: 3, c: 4}性能
查找字典的查找操作平均时间复杂度为 O(1) 因为底层使用 () 哈希表实现插入/删除插入和删除操作的平均时间复杂度也是 O(1)
应用场景
存储配置信息将各种配置参数以键值对的形式存储在子典中方便读取和修改统计词频同此出现的次数缓存数据将计算结果或者从数据库查询到的数据存储到字典中以提高后续访问速度
dict和list的区别
1. dict
查找和插入的速度极快不会随着key的增加而慢需要占用大量的内存内存耗费大 2. list 查找和插入的时间随着元素的增加而增加占用空间小浪费内存很少
所以 dict是用空间来换取时间的一种方法