字典
格式
{‘键1’:’值1’,…,’键n’:’值n’}
可以存储多种类型的值
操作
创建
- a={}
- a={键值对1,键值对2…}
- a=dict(赋值语句,赋值语句2…)
- a=dict()
- a = dict(zip([‘one’, ‘two’, ‘three’], [1, 2, 3]))
- a = dict([(‘two’, 2), (‘one’, 1), (‘three’, 3)])
- a = dict({‘three’: 3, ‘one’: 1, ‘two’: 2})
- a = dict.fromkeys([’s’, ‘d’], 8) # 类方法
查看元素
- 键找值
- a[键]
- 没有键的时候抛异常
- get
- 字典对象.get(键[,默认值])
- 获取指定键的值,没有找到不会抛异常,也可以设置默认值
修改元素
a[key]
格式同修改,也是赋值语句,但是在没有查到该元素的情况下就会自动将该键值对添加
setdefault(key[, default])
如果key存在,那么返回对应的value
如果不存在,创建给键值对,赋值默认值为value,并返回该默认值
d.update(d_other)
合并字典,如果存在相同的键值,d_other的数据会覆盖掉D的数据,返回None
删除元素
del
格式:del 字典对象[键]
删除字典中特定元素
clear
格式:字典对象.clear()
清空整个字典
pop
格式:字典对象.pop(key[,default])
如果key在字典中,移除该键值对,并返回设置的默认值
如果key不存在,并且默认值没有给,那么抛出KeyError错误
popitem()
随机返回并删除字典中的一对键和值(项)。为什么是随机删除呢?因为字典是无序的,没有所谓的“最后一项”或是其它顺序。在工作时如果遇到需要逐一删除项的工作,用popitem()方法效率很高
其他
d[key]
字典对象[“key”]
如果key存在,则返回对应value,如果不存在,抛出KeyError的错误
如果dict的子类重写了__missing__方法,当key不存在的时候,默认会将这个key值传入该方法,调用该方法管理当key不存在时的情况。
class Counter(dict): # 继承dict
def __missing__(self,key): # 重写missing方法
"""在d[key]的时候,如果key不存在就会将对应的key输入值传入"""
return 0
c = Counter()
c['red'] # 返回0
c['red'] += 1
c['red'] # 返回1
len()
len(字典对象)
测量字典中,键值对个数
keys()
字典对象.keys()
返回字典对象所有键组成的列表
values()
字典对象.values()
返回字典中所有值组成的列表
items()
字典对象.items()
返回一个所有由键值对组成的元组的列表
key in d
键 in 字典对象
如果该键存在,就返回True,否则,返回False
key not in d
和上面相反,不再赘述
iter(d)/iter(d.keys)
iter(字典对象)/iter(字典对象.keys)
返回字典key组成的生成器
copy()
返回一个浅拷贝对象
遍历
键
遍历键组成的列表,然后根据每个键获取值
元素
遍历通过items()获取键值对组成的元组
键值对
遍历通过items()获取的键值对元组的时候,直接使用两个k,v变量接收
for key,value in dict.items():
使用key,value的代码
(key中存储的是键,value中存储的是值)
扩展(enumerate())
用于将一个可遍历的数据对象组合成一个索引序列,同时列出数据和数据下标,一般用在for循环中。
chars=['a','b','c']
for i,chr in enumerate(chars):
使用下边i和元素chr的代码
注意点
可变类型不能作为字典的键,因为字典的键需要进行哈希计算
本文详细介绍了Python字典的格式、创建、查看、修改、删除元素等操作,包括get、setdefault、update等方法,以及遍历字典的各种方式。此外,还强调了字典键的哈希特性及不可变性。
4784

被折叠的 条评论
为什么被折叠?



