字典4:删除方法实操

目录

1. del 

2. d.pop(key[, default])

3. d.popitem()

4. d.clear()


1. del 

del d[key],将 d[key] 从 d 中移除;

del d[key],如果key键不存在,报错KeyError;

del还可以用于删除字典中作为值的子字典中的键值对;

del可以直接删掉整个字典,删除后查询字典变量,报错未定义。

#del d[key],将 d[key] 从 d 中移除
#del d[key],如果key键不存在,报错KeyError
d = {'a':1,'b':2,'c':3,'d':4}
del d['b']
d
{'a': 1, 'c': 3, 'd': 4}
del d['b']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'b'

#del还可以用于删除字典中作为值的子字典中的键值对
d = {'a':{'a1':1,'a2':2,'a3':3},'b':2}
del d['a']['a1']
d
{'a': {'a2': 2, 'a3': 3}, 'b': 2}

#del可以直接删掉整个字典,删除后查询字典变量,报错未定义
del d
d
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'd' is not defined

2. d.pop(key[, default])

字典中存在 key 参数的 “键” ,则移除它并返回其对应的 “值”;

字典中不存在key 参数的 “键”,如果default 参数已赋值,则返回default参数指定的内容;

字典中不存在key 参数的 “键”,如果没有指定 default 参数,则抛出 KeyError 异常。

#字典中存在 key 参数的 “键” ,则移除它并返回其对应的 “值”
d = {'a':1,'b':2,'c':3,'d':4}
d.pop('b')
2
d
{'a': 1, 'c': 3, 'd': 4}

#字典中不存在key 参数的 “键”,如果default 参数已赋值,则返回default参数指定的内容
d.pop('e','no word!')
'no word!'

#字典中不存在key 参数的 “键”,如果没有指定 default 参数,则抛出 KeyError 异常
d.pop('e')
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'e'

3. d.popitem()

从字典中移除并返回一个键值对,按 LIFO 的操作顺序(Last In First Out,后进先出);

修改字典某个键对应的值,不改变LIFO操作顺序;

新增的键值对,则会按新增的前后顺序,从最晚新增的键值对开始移除;

如果字典为空时,将抛出 KeyError 异常

popitem() 方法常用于对字典进行消耗性地迭代,这在集合算法中经常被使用。

#从字典中移除并返回一个键值对,按 LIFO 的操作顺序(Last In First Out,后进先出)
d = {'a':1,'b':2,'c':3,'d':4}
d.popitem()
('d', 4)
d
{'a': 1, 'b': 2, 'c': 3}
d = dict({'a':0,'b':1},c=2,d=3,e=4)
d.popitem()
('e', 4)
d
{'a': 0, 'b': 1, 'c': 2, 'd': 3}

#修改字典某个键对应的值,不改变LIFO操作顺序
d['a'] = 100
d.popitem()
('d', 3)
d
{'a': 100, 'b': 1, 'c': 2}

#新增的键值对,则会按新增的前后顺序,从最晚新增的键值对开始移除
d['x'] = 99
d
{'a': 100, 'b': 1, 'c': 2, 'x': 99}
d.popitem()
('x', 99)

#如果字典为空时,将抛出 KeyError 异常
d.popitem()
('c', 2)
d.popitem()
('b', 1)
d.popitem()
('a', 100)
d.popitem()
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'popitem(): dictionary is empty'
d
{}

4. d.clear()

删除 d 字典中的所有项。

d = {'a':1,'b':2,'c':3,'d':4}
d.clear()
d
{}

你可能感兴趣的:(Python学习,#,字典,python,开发语言)