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)

 

posted @ 2018-04-22 21:15  容颜-gl  阅读(146)  评论(0编辑  收藏  举报