标签:数字 结构 去重 upd 无法 键值对 def range clear
字典全称(Dictionaries)字典为非线性结构
类似Dict称为k-v对、全名为:key - value键值对的数据的集合
dict是可变的、无序的、key不重复(去重)
*key必须可以hash
*set可称为dict的简化版
dict是一个个kv对,其中k一定不相同,keys可以当set用、如果value可hash,那么items可以当set用
d = dict() 或者d = {}
dict(**kwarge)使用name = value对构造字典,不过可迭代对象的元素必须是一个二元结构
dict(iterable,**kwary)可用迭代对象和name = value对构造字典,不过可迭代对象的元素必须是一个二元结构
d = dict(((1,‘a‘),(2,‘b‘)))或者 d = dict(([1,‘a‘],[2,‘b‘]))(二元组)
dict(mapping,**kwarg)使用一个字典构建另一个字典*含有引用类型,注意结果
d = {‘a’:10,‘b‘:20,‘c‘:None,‘d‘:[1,2,3]} #常用构建字典方式
类方法dict.fromkeys(iterable,value)
d = dict.fromkeys(range(5))
d = dict.fromkeys(range(5),0)
当iterable的key与kwary的值相同时,后面的value会覆盖前面的value
*d[key]
返回key对应的value
key不存在抛出KeyError异常
*get(key[,default])
返回key对应的value
key不存在时返回缺省值,如果没有设置缺省值就返回None
setdefault(key[,default]
返回key对应的值value
key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,缺省为None
d[key] = value
将key对应的值修改为value
key不存在添加新的kv对
update([other]) - >None
使用另一个字典的kv对更新本字典、
key不存在,就添加
key存在,覆盖已经存在的key对应的值
就地修改
*当key为数字,默认无法添加。需使用二元组方式,或字典方式添加
pop(key[,defaulf])
key存在,移除它,并返回它的value
key不存在,返回给你的default
default未设置,key不存在则抛出keyError异常
popitem()
移除并返回一个任意的键值对
字典empty,抛出KeyError异常
clear()
清空字典
del语句
删除非value本事,而是value的引用计数。当引用计数归零时,内存会自动回收。
标签:数字 结构 去重 upd 无法 键值对 def range clear
原文地址:http://blog.51cto.com/13531464/2161642