编辑字典
增加字典元素
python
d = {"name": "curder", "hobby": "coding"}
d["married"] = False # 增加一个字典元素
print(d) # {'name': 'curder', 'hobby': 'coding', 'married': False}
删除字典元素
- 使用
del
关键字删除字典元素
python
d = {"name": "curder", "hobby": "coding"}
del d["hobby"] # 删除字典的 hobby key
print(d) # {'name': 'curder'}
如果删除了一个不存在于字典中的key,则会抛出
KeyError
错误。
- 使用
pop()
方法
python
d = {"name": "curder", "hobby": "coding"}
result = d.pop('hobby')
print(d) # {'name': 'curder'}
print(result) # coding
值得注意的是:
使用字典的
pop
方法移除指定键,会返回该键对应字典中的值。如果删除了一个不存在于字典中的key,则会抛出
KeyError
错误。
清空列表元素
python
d = {"name": "curder", "hobby": "coding"}
d.clear()
print(d) # {}
修改字典元素
将key赋值新的值用于覆盖旧值则完成字典元素的修改。
python
d = {"name": "curder", "married": False}
d['married'] = True
print(d) # {'name': 'curder', 'married': True}
update
方法修改字典
update
方法接受两个参数,分别是两个字典。
- 如果字典2的键在字典1中存在,则对字典1进行修改。
- 如果字典2的键在字典1中不存在,则对字典1进行添加。
python
d1 = {"name": "curder", "married": False}
d2 = {"name": "luo", "hobby": 'coding'}
d1.update(d2)
print(d1) # {'name': 'luo', 'married': False, 'hobby': 'coding'}
拷贝字典
python
d = {"name": "curder", "married": False}
d2 = d.copy()
print(d2) # {'name': 'curder', 'married': False}
对原字典进行增删改操作,不会影响拷贝后的字典
d2
。
fromkeys
创建新字典
fromkeys
函数用于创建一个新的字典。
- 第一个参数是一个序列(列表/元组/集合),作为字典的键
- 第二个参数可以是任意数据类型,作为每个键的值,如果不传递的话,字典的键对应的值为
None
python
d = {}
d1 = d.fromkeys(("name", "age"), ('curder', 18,))
print(d1) # {'name': ('curder', 18), 'age': ('curder', 18)}
使用
fromkeys()
方法会产生一个新的字典,而不是在原字典上进行变更
删除字典最后一个元素
popitem()
方法用于从字典中删除最后一项,并以元组形式返回该项所对应的键和值。
python
d = {"name": "curder", "hobby": "coding"}
result = d.popitem()
print(result) # ('hobby', 'coding')
print(d) # {'name': 'curder'}
如果字典为空,调用
popitem()
方法,会抛出KeyError
错误。
设置字典默认值
setdefault()
方法用于设置字典的默认值。
- 如果字典中已已经存在对应的键,则忽略
- 如果不存在则添加该键和值
python
d = {"name": "curder", "hobby": "coding"}
d.setdefault('married', False) # 设置不存在的key
d.setdefault('name', 'luo') # 设置已存在的key,忽略添加
print(d) # {'name': 'curder', 'hobby': 'coding', 'married': False}