码迷,mamicode.com
首页 > 其他好文 > 详细

dict字典

时间:2018-08-03 10:46:36      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:没有   highlight   values   tde   key   变量   default   key值   可变   

1.dict是由 { } 括起来的键值对组成

  其中 键key 具有唯一性,是不可变的数据类型,可哈希的

       已知的可哈希(不可变)的数据类型: int, str, tuple, bool  不可哈希(可变)的数据类型: list, dict, set

  {key1: value1, key2: value2....}

2.字典的增删改查

  增  (1)  dic[key]=value    ##如果dict中没有出现这个key, 就会新增一个key-value的组

                  (2)  dic.setdefault(key,value)  如果键在字典中存在不进行任何操作,不存在就添加

  删  (1)  pop(key)  有返回值,返回删除的value

     (2)  del dic(key) 

               (3)  popitem()  随机删除,返回一个元祖(key,value)

     (4)  clear()

  改  (1)  dic[key]=value 

         dic.update(dic1)   #把dic1中的内容更更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增.           

dic={"genji":"源氏","macre":"麦克雷","76":"士兵"}

dic1={"dva":"dva","mei":"小美","macre":"麦卡利"}

dic.update(dic1)

print(dic)     
#运行结果为{‘genji‘: ‘源氏‘, ‘macre‘: ‘麦卡利‘, ‘76‘: ‘士兵‘, ‘dva‘: ‘dva‘, ‘mei‘: ‘小美‘}

  查     (1)  for循环  返回key值

        (2)  print(dic[key])  打印value,没有key会报错

                  (3)  print(dic.get(key,"找不到这个值"))  如果找不到key,返回 "找不到这个值"  不写的话返回None

3.其他操作,字典独有

  keys  获取到所有的key存在一个高仿的列表中    

dic={"genji":"源氏","macre":"麦克雷","76":"士兵"}

print(dic.keys())      #输出为   dict_keys([‘genji‘, ‘macre‘, ‘76‘])

  values 获取到所有的value存在一个高仿的列表中  

for i in dic.values():
print(i)                     #打印字典中的每一个值

  items  获取到所有的键值对以元祖的形式存在一个高仿的列表中

4.字典嵌套

  

dic = {‘name‘:‘莱因哈特‘,

  ‘age‘:53,

  ‘wife‘:{

  ‘name‘:‘安娜‘,

  ‘age‘:59,

  ‘job‘:‘dictor‘

  }

  ‘baby‘:[

  {‘name‘:‘熊大‘,‘age‘:18},

  ]

  }

dic[‘baby‘][0][‘age‘] = 19

print(dic)    #18变为19

5.解构(要求了解)

a,b=‘12‘    #将后边解构打开,按位置赋值给变量 , 支持字符串,列表,元祖

print(a)  #1

print(b)       # 2

a, b = 1, 2

print(a, b)  #1 2

 
#有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {‘k‘:1,‘k1‘:2....}  

s = "k:1|k1:2|k2:3|k3:4"
new_li = s.split("|")
dic = {}
print(new_li)
for i in new_li:
    k,v = i.split(":")
    dic[k] = int(v)
print(dic)

dict字典

标签:没有   highlight   values   tde   key   变量   default   key值   可变   

原文地址:https://www.cnblogs.com/amber-liu/p/9411376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!