dict
dict类:info={"k1":"v1",
"k2":"v2"}->键值对
字典中的values值可以为任意值,列表以及字典不能作为字典的k 字典是无序的
布尔值作为k被忽略的情况为:python中True为1 False为0.若R中有1 则忽略True不显示,若R中无1 则显示True以及它的values
字典:哈希表保存 k转换为数值 (哈希值)
info={"k1":18,
"k2":True,
"k3":[11,22,33,{"kk1":"vv1","kk2,:"vv2","kk3":(11,22),}],
"k4":(11,22,33,44)}
print(info)
v=info["k1"] print(v) 运行结果为18
v=info[2] print(v) 运行结果为:True
字典支持删除操作
del info["k1"]
print(info)
del.info['k3'][5]['kk3']
通过索引方式查找指定元素
v=info['k3'][5]['kk3'][0]
print(v)运行结果为:11
由于字典是无序的 所以不能通过切片方式查找指定元素
字典支持for循环(注:(1)和(2)等价)
(1)for item in info:
print(item)运行结果为: k1
k3
k2
k4
(2)for item in info.keys():
print(item.info[item])(既获取k的值又获取values的值)
(2')for k,v in info.items():
print(k,v)
(3)for item in info.values():
字典的功能:
clear()
copy() 浅拷贝
dict.fromkeys()此方法为:根据序列创建字典并指出统一的值
dict.fromkeys()静态方法块 (类.方法)
v=dict.formkeys{["k1",123,"999"]}
print(v)运行结果为:{123:None,‘k1’:None,‘999’:None}
v=dict.fromkeys(["k1",123,"999"],123)
print(v) 运行结果为:{123:123,'k1':123,'999':123}
dic={"k1":'v1'}
v=dic['k111'] 如果取得值不存在则报错
v=dic.get('k1111') 如果取得值不存在则返回None(注根据key取值 k不存在可指定默认值返回)
v=dic.get("k111",111) 如果取得值不存在 则返回111
删除并获取值
dic={"k1": 'v1',"k2:'v2}
pop
v=dic.pop('k1') 删除k1
print(dic,v) 得到剩余的值和被删除的值(values) 运行结果为:{'k2':'v2'} v1
popitem
v=dic.popitem())(随机删除一个键值对)
print(dic,v)运行结果为:{'k1':'v1'}('k2':'v2")
setdefault:设置值,当k存在时不设置值 可获取到key的值 当k不存在时 添加k以及v的值
dic.setdefault('k1',123) 运行结果不变 因为原字典中有k1
dic.setdefault('k111':123) 运行结果为:{'k1':'v1','k111':'123','k2':'v2'}
update:更新操作已有的数据更新 没有则添加数据
dic.updat(k,v)