字典
字典是另一种可变容器模型,且可存储任意类型对象。
键必须是唯一的,值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。
字典的创建
在使用 dict() 函数创建字典时,可以传入多个列表或元组参数作为 key-value 对,每个列表或元组将被当成一个 key-value 对,因此这些列表或元组都只能包含两个元素。
dict1 = { 'abc': 123}
dict2 = dict() #创建空字典
字典的用法
#访问
scores = {'语文': 90}
# 通过key访问value
print(scores['语文'])
#赋值
scores['数学'] = 93
# 对不存在的key赋值,就是增加key-value对
print(scores)
# {'语文': 89, '数学': 93}
# 使用del语句删除key-value
del scores['语文']
del scores['数学']
#如果对 dict 中存在的 key-value 对赋值,新赋的 value 就会覆盖原有的 value,这样即可改变 dict 中的 key-value 对。
scores = {'张三':66,'李四':88}
# 对存在的key-value对赋值,改变key-value对.
scores['张三']=77
print(scores) #{'张三':77,'李四':88}
#如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。
#判断scores是否包含名为'张三'的key
print('张三' in scores) #True
print('王五' not in scores) #True
字典的内置函数
函数 | 描述 |
---|---|
len(dict) | 计算字典元素个数,即键的总数。 |
str(dict) | 输出字典,以可打印的字符串表示。 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型 |
clear() | 删除字典内所有元素 |
copy () | 复制 |
fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
get(key,default=None) | 返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
key in dict | 如果键在字典dict里返回true,否则返回false |
items() | 以列表返回可遍历的(键, 值) 元组数组 |
keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
setdefault(key, default=None) | 返回指定键如果键不存在于字典中,将会添加键并将值设为default |
update(dict1) | 把字典dict1的键/值对更新到dict里 |
values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 随机返回并删除字典中的最后一对键和值。 |