dict 增删改查

  1 # dict
  2 # 数据类型划分: 可变数据类型,不可变数据类型
  3 # 不可变数据类型: 元组 bool int str set                (又被称为可哈希)
  4 # 可变数据类型: list dict                             (又被称为不可哈希)
  5 # dict key 必须是不可变数据类型  可哈希
  6 #      value 任意数据类型
  7 
  8 # dict优点: 二分查找去查询
  9 #          存储大量的关系型数据
 10 #      特点:无序的
 11 
 12 # dic =
 13 #     'name':['peng','fei'],
 14 #      'py' :[{'num':71,'avg_age':18},{'num':71,'avg_age':18},{'num':71,'avg_age':18},
 15 #             {'num':71,'avg_age':18},
 16 #             ],
 17 #     True : 1,
 18 #     (1,2,3):'wuyiyi',
 19 #     2:'pengfei'
 20 #
 21 #
 22 #
 23 # },
 24 #
 25 # print(dic)
 26 
 27 # dic1 = {'age':18,'name':'jin','sex':'male','k':'v'}
 28 #
 29 # dic1['height'] = 185 #没有这个键值对,添加
 30 # print(dic1)     #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'height': 185}
 31 # dic1['age'] = 16   #如果有键,则值覆盖
 32 # print(dic1)     #{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v'}
 33 
 34 # dic1.setdefault('weight')     #有键值对,不做任何改变,没有才添加
 35 # print(dic1)     #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'weight': None}
 36 # dic1.setdefault('weight',150)
 37 # print(dic1)     #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'weight': 150}
 38 # dic1.setdefault('name',17)
 39 # print(dic1)       #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
 40 
 41 #
 42 # print(dic1.pop('age'))      # 18  有返回值,按 '键' 去删除
 43 #                              # {'name': 'jin', 'sex': 'male', 'k': 'v'}
 44 # print(dic1.pop('二哥',None)) # None   可设置返回值。若是没有上面的键,则会显示返回值
 45 
 46 # print(dic1.popitem()) #  3.6及以上版本是末尾删除,有返回值,元组里面是删除的键值
 47 #                        #  3.6以下版本是随机删除 有返回值,元组里面是删除的键值
 48 
 49 # del dic1['name']
 50 # print(dic1)           #{'age': 18, 'sex': 'male', 'k': 'v'}
 51 # del dic1
 52 # print(dic1)
 53 
 54 # dic1.clear()    #清空字典
 55 # print(dic1)
 56 
 57 
 58 # 改 update
 59 # dic1['age'] = 16
 60 
 61 # dic = {'name':'jin','age':18,'sex':'male'}
 62 # dic2 = {'name':'alex','weight':75}
 63 # dic2.update(dic)    #把一个字典当中的键值对覆盖添加到一个字典当中,
 64 #                     # 原字典没有变化,只有更新的dic2才会变化
 65 #
 66 # print(dic)
 67 # print(dic2)
 68 
 69 dic1 = {'age':18,'name':'jin','sex':'male','k':'v'}
 70 #
 71 # print(dic1.keys())     #dict_keys(['age', 'name', 'sex', 'k'])
 72 # print(dic1.values())   #dict_values([18, 'jin', 'male', 'v'])
 73 # print(dic1.items())    #dict_items([('age', 18), ('name', 'jin'), ('sex', 'male'), ('k', 'v')])
 74 
 75 # for循环查找 默认查的是键
 76 # for i in dic1:
 77 #     print(i)
 78 # for i in dic1.values():
 79 #     print(i)
 80 
 81 
 82 # a,b =1,2
 83 # print(a,b)
 84 
 85 # 面试题:一行代码使a,b的值互换
 86 # a = 1
 87 # b = 2
 88 # a,b=b,a
 89 # print(a,b)  # 2 1
 90 
 91 # a,b =[1,2],[2,3]
 92 # a,b =(1,2)
 93 # print(a,b)
 94 # for i in dic1.items():
 95 #     print(i)         # ('age', 18)
 96 #                      # ('name', 'jin')
 97 #                      # ('sex', 'male')
 98 #                      # ('k', 'v')
 99 # 若是想直接打印出key,value:
100 # for k,v in dic1.items():     #for循环中i 与 k,v接收的值不同
101 #                              #i是接收的元组,里面对应的是键值,k,v是分别接收 键,值
102 #     print(k,v)       # age 18
103 #                    # name jing
104 #                    # sex malek
105 #                    # k v
106 
107 # v1 = dic1['name']
108 # print(v1)        #可以打印出对应的值:jin
109 # v2 = dic1['name1'] #若在字典中没有此键。 会报错
110 # print(v2)
111 
112 # print(dic1.get('name1','sss'))  #若字典中没有此键,默认返回值为none.可以修改返回值
113 # print(dic1.get())

 

posted @ 2018-12-06 21:00  Penphy  阅读(161)  评论(0编辑  收藏  举报