内置结构-dict

dict

定义, 初始化
1:d = dict() 或则 d={}
2: dict(**kwargs)使用name=value初始化一个字典
3: dict(iterable, **kwargs) 使用可迭代对象和name=value构造字典,可迭代对象必须是个二元结构demo: d=dict(((1,"a"), (2, "b"), [3, "d"]))
4:dict(mapping, **kwargs) 使用一个字典构造另外一个字典
5:d={“a”:1, “b”:None, “c”:[1,2,3]}
6:类方法dict.fromkeys(iterable, value)d=dict.fromkeys(range(5))或则d=dict.fromkeys(range(5), 0)前边的value全部为None,后边的value全部为0
元素的访问
1:d[key]
2:get(key[,default])
3:setdefault(key[,default])->1,返回key对应的value。2,key不存在创建k,v对,default没有设置返回None

添加和修改
1:d[key] = value->1,返回key对应的value值。2:key不存在,则创建k,v对
2:update([other])->1:使用另外一个字典的k,v对更新本字典。2:key不存在,则添加。3:key存在,覆盖value值d.update(red=1) d.update((('red',2),)) d.update({'red':3})

字典的删除
1:pop(key[, default])
——key存在,移除它,并返回它的value
——key不存在,返回给定的default
——default未设置,key不存在则抛出KeyError异常
2: popitem()
——移除并返回一个任意的键值对
——字典为empty,抛出KeyError异常
3:clear()
——清空字典
4:del语句
——del[“b”]
del 看试删除了一个对象,实则减少了对象的引用,删除的只是名称,而不是对象

字典遍历
keys()、values()、items()

defaultdict
collections.defaultdict([default_factory[,]])
——第一个参数default_factory,缺省是None,它提供一个初始化的函数,当key不存在的时候,会调用这个工厂函数来生成key对应的value

from collections import defaultdict
import random
d = defaultdict(list) # 可以是任何可变类型,等价于给value设置了一个默认值
for k in "abcdefg":
	for i in range(random.randint(1,7)):
		d[k].append(i)
print(d)

d2 = defaultdict(set)
d2["a"]
print(d2)->{"a":set()}

OrderedDict
说明:
可以使用它来创建有序字典,有序指插入的顺序

od = OrderedDict()
for key in range(1,5):
	od[key] = str(key)
print(od)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章