字典{用大括号}
- 存储方式: 采用键值对的形式进行保存
- 特性
1.key-value结构
2.key必须为不可变数据类型、必须唯一,不可位列表
3.可存放任意多值、可修改、可以不唯一
4.无序
5.查找速度快 - 定义
- a = {}
- a = dict()
打印字典中某个数值的时候,使用dict[x]。使用的是中括号,x代表的是键的名字.
两个重要的点:
-
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住(后一个把前一个相同的键对应的数值覆盖)
-
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
注意:
- 字典的键值是"只读"的,所以不能对键和值分别进行初始化
- 字典是支持无限极嵌套的
内置函数
-
cmp(dict1, dict2)
如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。 -
len(dict)
计算字典元素个数 -
str(dict)
输出字典可打印的字符串表示。 -
type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
操作
- dict.clear()
删除字典内所有元素 - dict.copy() 字典的浅复制
- dict.fromkeys(seq[, value])
将创建一个新字典,序列中的每个元素成为一个新键,键对应的数值是value,如果value不指定的话,则新的字典对应的值是None - dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值 - key in dict
用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false - dict.items()
- 返回可遍历的(键, 值) 元组数组
- dict.keys()
返回字典中所有的键 可以使用 list() 来转换为列表,列表为字典中的所有键。 - dict.values()
返回字典中所有的值 可以使用 list() 来转换为列表,列表为字典中的所有值。 - dict.setdefault(key, default=None)
但如果键不存在于字典中,将会添加键并将值设为default,如果存在则不修改 - popitem()
随机返回并删除字典中的一对键和值 - pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 - dict.update(dict2)
函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict里。如果有相同的key,则覆盖a[key] = value 如果key存在于字典,则修改成新的value,如果不存在,则增加一个key,对应的值是value
补充
遍历时候推荐使用一下方法不推荐使用 dict.items()方法:
- for I in dict.keys();
- print(“{} => {}”.format(I,dict[i]))
两者区别:dict.items()将元素转黄成元组在打印,当数据量过大时消耗内存过大,耗时长。