字典的定义及相关方法
【PS:以下都是在ipython下操作的,ipython的安装配置和使用请参考我的另一篇文章http://www.cnblogs.com/smileyes/p/6833393.html】
1.定义字典
为什么dict('a'=1) dict(1='a')否报错而dict(a=1)确实正确的,其实是因为等于号左边其实就是设置一个变量名,变量名烦人命名规则是:
必须以字母或下划线开头,且只能包含字母数字和下划线,所以只有a才是一个合格的变量名
#注意键本身必须是不可变类型
eg: 用列表做键会报错,用set,dict同样会报错,因为它们是可变类型
eg: 用元组则不会,当然用str,num等也是可以的,因为它们是不可变类型
2.字典的方法
#----------增/改---------------------
#方法一: fromkeys--基于可迭代对象创建字典
查看帮助文档
如果是在ide中使用命令: help(dict.setdefault)
ipython中使用: dict.setdefault?
#方法二: setdeault 添加键值对
"""
k--key必须是不可变对象; d--value,不传则默认value=None
如果k在字典键中,则不做任何处理
k不在字典中,则增加一个键值对,key=k,value=d
"""
方法三: update--增加键值对,或者更新键对应的值
只能传递一个参数,参数类型是字典,
dict_a.update(dict_b)
遍历dict_b的键值对,如果键已经在dict_a中则将dict_b中键对应的值更新到dict_a中;
键不在dict_a中则添加键值对到dict_a中
方法四: 添加键值对或更新键对应的值
#---------------------删---------------------------
方法一: pop--根据键删除键值对
k--key ,d--value
如果key不存在,则必须传递d,返回d; 否则异常
如果key存在会从字典中删除该键值对,返回value
# 方法二: popitems --随机删除键值对
# 方法三: clear--清空字典,删除所有的键值对
#--------------------查---------------------
#方法一: get--根据键获取值
方法二: 还是根据键获取值
方法三: 获取键列表,值列表,和键值对列表