1-字典的定义:
1-dict1 = {}--空字典
2-type({})-----<class 'dict'>
3- 字典名 = {键名:值,键名2:值2}
2-字典的特性:
1-它没有下标---不是序列类型!
2-一种映射--map
3-字典是mutable 的---可以改变
3-字典的常用操作----dict1 = {'name': 'Jack', 'age': 40}
1-获取值:dict1['name']
2-改变值:'name'已经存在,dict1['name'] = 'tom'
3-新增:这个键名不存在:dict1['weight'] = 160
1-python 3 ----从尾部增加
2-python 2 ----无序的
4-删除
1-del === del dict1[name]====通过删除key
2-pop=== pop(key)===有返回值,返回被删除的key 的值
5.type({}) =====<class ‘dict’>
6.len({})===键值对的个数
7. key in {} ==== 判断key键在不在字典中
8.{}.clear() ====清空字典
9{}.keys() ===={}.keys() =====返回字典中所有的key [返回类列表格式]-----dict_keys(['','']),可for循环---可以用list()转成列表
10.{}.values()===返回字典中所有的值[返回类列表格式]。。。。。。。
11.{}.items() ===返回字典中所有的键值对[返回元祖(‘name’, 'tom')]
for a,b in dic.items()=========name tom
12.for 循环,循环的取值是key
13.字典合并:update({})
d= {'name':'we', 'age':2}
c = {'sex':'女', '':200}
d.update(d)
14. json.dumps({})===== 字典转json
json.loads({}) =====json 转字典(转换数据类型)
4-如果需要获取的键不存在,那么-- KeyError: 'weight'
5-字典内部元素不存在顺序的概念
6-字典内部不会存在相同键名
7-相同键名时候,后面的值会覆盖前面的值---唯一的
8-键、值的类型:
1-键的类型:
1-数值
2-字符串
3-元组
4-列表---*不能作为键--TypeError: unhashable type: 'list'
5-字典---*不能作为键
6-键一定是哈希类型--不能改变的【不可变对象类型】!
可变对象都不能作为key使用
2-值的类型:任意类型
9-键值对一定要成对出现吗?----键值对