setdefault函数的用法及理解
dict.setdefault(key, default=None)
功能:
如果键不存在于字典中,将会添加该键并将default的值设为该键的默认值,如果键存在于字典中,将读出该键原来对应的值,default的值不会覆盖原来已经存在的键的值。
参数:
key----要查找的键
default-----查找的键不存在时用于设置的默认值
使用方法示例:(以下使用方法是我理解setdefault函数的过程)
方法一:给字典中不存在的键赋值为默认值None
>>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("NotExist",) >>> print ExsampleDict {'NotExist': None, 'Exist': 'Elle'}
方法二:给字典中不存在的键赋值为默认值None
>>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("NotExist") >>> print ExsampleDict {'NotExist': None, 'Exist': 'Elle'} >>>
方法三:读出字典中存在的键对应的值
>>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("Exist","NotReplace") >>> print Res Elle >>> type(Res) <type 'str'> >>> print ExsampleDict["Exist"] Elle >>>
方法四:给字典中不存在的键赋值为"Replace"
>>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("NotExist","Replace") >>> print Res Replace >>> type(Res) <type 'str'> >>> print ExsampleDict {'NotExist': 'Replace', 'Exist': 'Elle'} >>>
方法五:给字典中不存在的键赋值为列表
>>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("NotExist",[]) >>> print Res [] >>> type(Res) <type 'list'> >>> Res=ExsampleDict.setdefault("NotExist",[]).append("Replace") >>> print ExsampleDict {'NotExist': ['Replace'], 'Exist': 'Elle'} >>>
方法六:给字典中不存在的键赋值为字典
>>> ExsampleDict={"Exist":"Elle"} >>> ExsampleDict.setdefault("NotExist",{}) {} >>> ExsampleDict={"Exist":"Elle"} >>> Res=ExsampleDict.setdefault("NotExist",{}) >>> print Res {} >>> type(Res) <type 'dict'> >>> Res=ExsampleDict.setdefault("NotExist",{})["Insert"]="InsertValue" >>> print ExsampleDict {'NotExist': {'Insert': 'InsertValue'}, 'Exist': 'Elle'} >>>