字典是另一种可变的容器模型,且可存储任意类型对象。
列表是有序的对象集合,字典是无序的对象集合,两者之间的区别在于:字典中的元素是通过键来存取的,而不是通过偏移下标存取。
字典是一种映射类型。字典用{}标识,它是一个无序的键(key):值(value)对集合,每个键值对之间使用,号分隔开来。
注意:
键的值是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串、数字、和元组。
例子:
列表使用的是[]
元组使用的是()
字典使用的是{}
字典的操作:
一、访问字典的值
如果使用字典中没有的键来访问,会输出错误。
二、修改字典
向字典添加新内容的方法是增加新的键/值对,例子:
三、修改字典
四、删除字典元素
能删除单一的元素,也能清空字典。例子:
使用del ,更具键的值来删除元素。
清空整个字典,使用clear()方法
删除整个字典。使用del关键字。
五、字典的特性
1.字典值可以是任何的python对象,既可以是标准的对象,也可以是用户定义的,但是键不行。
键有以下的两点特性:
1>不允许同一个键出现两次。创建时,如果一个键出现两次,后出现的键对应的值,会将前面出现的覆盖掉。例子:
2>键是唯一的,不可改变的。可使用字符串、数字、元组来进行充当,但使用列表就不行了,例子:
六、字典内置函数和方法
1>函数
1.len(dict):计算字典元素的个数,即键的总数。
2.str(dict):输出字典,以可以打印的字符串表示。
3.type(dict):返回输入的变量类型。
2>内置的方法
1.dict.clear():删除字典内的所有元素
2.dict.copy():返回一个字典的浅复制
3.dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值。例子:
4.dict.get(key,default=None):返回输入的key的值,假如key值不存在,则返回输入的默认值None。
5.key in dict:如果键在字典内,但会 True。否则返回 False。
6.dict.items():以列表的形式返回可遍历的(键,值)元组数组。
7.dict.keys():返回一个迭代器,可以使用list()来转化为列表。
8.dict.setdefault(key,default=None):和get方法类似,如果输入的键不存在,则添加输入的键,默认值为None。
9.dict.update(dict2):把字典dict2的值更新到dict中。
10.dict.values():返回一个迭代器,可以使用list()来转化为列表。
11.pop(key[,default]):删除字典给定的键key所对应的值,返回值为被删除的值。key键必须给出。否则返回default值。
12.popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。