Author:Runsen
今天,我们学习Python中的数据结构中的字典
Python数据结构中的字典
字典由键值对组成,键必须是唯一的;
eg
={key1:value1,key2:value2};
空字典用{}表示;字典中的键值对是没有顺序的,如果想要一个特定的顺序,那么使用前需要对它们排序;
d[key]=value,如果字典中已有key,则为其赋值为value,否则添加新的键值对key/value;
使用deld[key]可以删除键值对;判断字典中是否有某键,可以使用in或notin;
dict函数如下
/p>
clear()删除字典中所有元素
copy()返回字典的一个副本(浅复制)
浅复制值相同,但是对象不同,内存地址不同。
dict.fromkeys(seq,val=None)创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)
get(key,[default])返回字典dict中键key对应值,如果字典中不存在此键,则返回default的值(default默认值为None)
has_key(key)判断字典中是否有键key
items()返回一个包含字典中(键,值)对元组的列表
keys()返回一个包含字典中所有键的列表
values()返回一个包含字典中所有值的列表
pop(key,[default])若字典中key键存在,删除并返回dict[key],若不存在,且未给出default值,引发KeyError异常
popitem()删除任意键值对,并返回该键值对,如果字典为空,则产生异常KeyError
setdefault(key,[default])若字典中有key,则返回vlaue值,若没有key,则加上该key,值为default,默认None
update(dict2)把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值
viewitems()返回一个view对象,(key,value)pair的列表,类似于视图。优点是,如果字典发生变化,view会同步发生变化。在迭代过程中,字典不允许改变,否则会报异常
viewkeys()返回一个view对象,key的列表
viewvalues()返回一个view对象,value的列表