字典{dict}
字典属于一种新的数据结构,成为映射(mapping)
字典的作用和列表类似,都是用来存储随想的容器
列表的存储性能好,但是查询数据的性能很差
在字典中每一个元素都有唯一的一个名字,通过这个唯一的名字可以快速查找指定的元素
在字典中可以保存多个对象,每个对象都有唯一的名字
- 这个唯一的名字我们称之为key,通过key可以快速查询value
- 这个对象我们称之为value
- 所以字典,我们也叫做键值对(key-value)结构
- 每个字典中中可以有多个键值对,而每个键值对我们称其为一项(item)
d={key:value, key:value, key:value, key:value}
d={'name':'孙悟空'}-------------一项
字典的值(value):可以是任意类型的对象
字典的键(key):任意不可变对象 int、 none、 布尔、 tuple、str,一般字典的键会使用字符串)【不能是list,list可变对象】
字典的键是不能重复的,如果出现重复的后面的会替换前面的
d={'name':'孙悟空','add':'kyle','name':'JESSIA'}
需要根据键来获取值
print(d['name'],d['add'])
如果使用了字典中不存在的键会报错
字典的使用
使用dict()函数来创建字典
1. 每一个参数都是一个键值对,参数名就是键,参数名就是值(这种方式创建的字典,key都是字符串)
d=dict(name=孙悟空',age=18',gender='male')
2. 也可以将一个包含有双值子序列的序列转化为字典
双值序列-------序列中只有两个值[1,2]('a',3) 'ab'
子序列,如果序列中的元素也是序列,那么我们就称这个元素为子序列 [(1,2),(3,4)]
d=dict [('name','孙悟空'),('age',18)]
len()获取字典中键值对的个数
in/not in------------检查字典中是否包含指定的键
print('name' in d)
获取字典中的值,根据键来获取-disadvantage:当key不存在时会报错,需明确key
语法:d[key]
print(d['name'])
d.get('name')该方法用来根据键来获取字典中的值,如果获取的键在字典中不存在,会返回None,也可以指定一个默认值来作为第二个参数,这样获取不到值时将会返回默认值
d.get('name','默认值')
修改字典
d[key]=value