字典(dict)属于一种新的数据结构,也成为映射(mapping)
它和列表类似,可储存对象(属于可变对象)
字典与列表相比:字典存储数据的性能要差一点,但是字典查询数据的性能要好一点
键值对:在字典中每一个元素都有一个唯一的名字(键(key)),通过这一个名字(key)我们可以快速地查找出这一个元素(value),所以字典我们也称之为键值对(key-value)结构(不需要再知道元素的索引值就能够进行查找)
key最好不要重复,不然相同的key后面的会覆盖前面的
每一个字典中的有多个键值对,每一个键值对我们称之为一项(item)
语法:{key:value,key:value…}
当键值对多的时候我们可以采用以下的方法:
字典的使用:
(创建)
1.使用{}来创建字典zhixulie
2.使用dict()来创建字典(关键字传参)
不使用这种写法,而是用另外的写法则:
3.dict()函数
dict函数也可以将一个包含有双值子序列的序列转化为字典
双值序列:序列中有两个值,如’ab’,‘12’,[12,23]
子序列:序列中的元素也是个序列,则称这个元素为子序列,如[(‘1,2’),(‘asd’,‘fgh’)]
语法:dict[key]
根据字典的键来获取元素
注: key要加上‘’,不加‘’会被当作变量处理(就会报错)
4.get()函数
get()函数也可以获取到字典中的值
用法:get(key,[default])
default也可以指定为一个默认值,它是第二个参数,当key不存在时返回默认值(一般为None)
修改
1. 按照键(key)来进行修改dict[key]=value
若key不存在,则向字典中添加键值对,默认排在最后面
2. setdefault()
向字典中添加键值对,若key不存在就添加,若key已经存在,则返回字典的原值(不对字典进行操作)
3. update()
将其他字典添加到当前的字典中
可知,是后面()中的字典添加到前面的字典中
如果有重复的那么仍然覆盖
4. del()删除键值对
5. popitem()删除
随机删除字典中的键值对,一般删除最后一个,有返回值,返回删除的那一个键值对
6. pop()删除
pop(key,[default])
根据key来删除键值对,返回value值
若key不存在,则报错(也可以指定默认值)
7. clear()清空
没有返回值