Python-Dictionary-pop()与popitem()

来源:互联网 发布:反攻击软件 编辑:程序博客网 时间:2024/06/05 12:06

介绍

pop(key[,default])

如果键值key存在与字典中,删除dict[key],返回 dict[key]的value值。key值必须给出。否则,返回default值。如果default值没有过出,就会报出KeyError异常。pop()方法至少接受一个参数,最多接受两个参数。

popitem()

删除,并且返回一个键值对(key,value)形式。如果字典已经为空,却调用了此方法,就报出KeyError异常。

pop()

给出单个key值且key在dict中

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.pop('name')print(pop_obj)

输出

Bob

给出多个key值

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.pop('name','age')print(pop_obj)

输出

Bob

pop()方法至少接受一个参数,最多接受两个参数。

用list与dict承装多个key值。

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}key_list=['name','age']pop_obj=D.pop(key_list)print(pop_obj)

报错信息:TypeError: unhashable type: ‘list’

#用list装key会raise TypeError,试试用dict装D= {'name': 'Bob', 'age': 14, 'sex': 'male'}key_dict={'name':0,'age':0}pop_obj=D.pop(key_dict)print(pop_obj)print(D)"""pop()方法只接受弹出一个对象。"""

Raise ERROR:

 pop_obj=D.pop(key_dict)TypeError: unhashable type: 'dict'

没有设置default的pop方法,但是key不在字典中。

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.pop('nation')print(pop_obj)print(D)

RaiseError:

    pop_obj=D.pop('nation')KeyError: 'nation'

设置了default

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.pop('name','NotFound')print(pop_obj)print(D)D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.pop('nation','NotFound')print(pop_obj)print(D)

输出

Bob{'age': 14, 'sex': 'male'}NotFound{'name': 'Bob', 'age': 14, 'sex': 'male'}

popitem()

D= {'name': 'Bob', 'age': 14, 'sex': 'male'}pop_obj=D.popitem()print(pop_obj)print(D)

输出

('sex', 'male'){'name': 'Bob', 'age': 14}
0 0