python 基础复习 05

#dict  字典

  1 """
  2 # 数据类型划分:可变数据类型,不可变数据类型
  3 不可变数据类型: 元祖, bool, int, str,       不可更改的又叫可哈希
  4 可变数据类型: 列表list   dict字典  set集合   不可哈希
  5 """
  6 
  7 # 字典的     key(键) 必须是不可变的  就是可哈希的  有元祖tuple, bool,int,str
  8 #           value:任意数据类型
  9 # dict 优点:二分查找去查询
 10 #             字典是无序的
 11 
 12 # dic = {
 13 #     "name":['蜘蛛', "蜘蛛侠"],
 14 #     "py1":[{"num": 21, "age": 23},
 15 #            {"num": 20, "age": 44}],
 16 #     True: 1,
 17 #     (1,2,3): "pioneer",
 18 #     2: "two",
 19 # }
 20 # print(dic)
 21 
 22 
 23 
 24 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 25 
 26 #
 27 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 28 
 29 # dic1["high"] = 185  # 没有键值对,添加 (原字典中没有的则添加)
 30 # dic1["age"] = 16  # 如果有键,则覆盖
 31 
 32 # dic1.setdefault("weight")
 33 # print(dic1)       # {'age': 18, 'name': 'jin', 'sex': 'male', 'weight': None}
 34 #  没有键就添加 值则是默认的None
 35 
 36 # dic1.setdefault("weight", "蜘蛛")  # 有键值对,不做任何改变, 没有才添加。
 37 # dic1.setdefault("weight", 135)  # 如果原字典里有键又有值,那么后添加的值则没有用
 38 # print(dic1)
 39 
 40 
 41 
 42 #  删除
 43 
 44 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 45 
 46 # pop()  按键去删除
 47 # print(dic1.pop("age"))  # pop()有返回值 被删除的值, 按键去删除
 48 # print(dic1)
 49 
 50 
 51 # print(dic1.pop("gender"))  # 没有的键删除  会报错
 52 # print(dic1.pop("gender","没有此键"))  # 当你以后要删除某键时,但又不知道
 53                                         # 它到底存不存在,不存在你删除时,
 54 #                                       就会给你报错,这时 你就可以在键后
 55 #                                          面再加一个值,这样就不会报错了
 56 # print(dic1)
 57 
 58 
 59 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 60 # print(dic1.popitem())   # ('sex', 'male')   # python 3.6 之前是随机删除(不包括3.6)
 61                             # 以后就是默认删除最后一个
 62 #                             有返回值  元祖里面是删除的键值
 63 # print(dic1)
 64 
 65 
 66 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 67 # dic1.clear()  # 清空字典
 68 # print(dic1)
 69 
 70 # del dic1["name"]  # 没有返回值  按键去删除
 71 # print(dic1)
 72 
 73 # del dic1  # 删除字典
 74 # print(dic1)
 75 
 76 
 77 
 78 
 79 #
 80 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 81 # dic1["age"] = 13  # 通过键 直接赋值
 82 # print(dic1)
 83 
 84 # dic = {"name": "jin", "age": "18", "sex": "male"}
 85 # dic2 = {"name": "lizy", "weight": "70"}
 86 # dic2.update(dic)
 87 # print(dic)  # {'name': 'jin', 'age': '18', 'sex': 'male'}
 88 # print(dic2)  # {'name': 'jin', 'weight': '70', 'age': '18', 'sex': 'male'}
 89 
 90 
 91 
 92 
 93 
 94 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
 95 #
 96 
 97 # print(dic1.keys(), type(dic1.keys()))  # dict_keys(['age', 'name', 'sex']) <class 'dict_keys'>
 98 #                                                 # 返回的是列表
 99 # print(dic1.values())  # dict_values([18, 'jin', 'male']) # 返回的是列表
100 # print(dic1.items())  # dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])  # 返回的是元祖 元祖里面是键值
101 
102 # dic1 = {"age": 18, "name": "jin", "sex": "male"}
103 # for i in dic1:
104 #     print(i)  # 用 for 循环遍历字典 打印的是键  age
105                                             # name
106                                             # sex
107 
108 
109 
110 # 用一行代码实现啊a,b值的互换
111 # a = 1
112 # b = 2
113 # a, b = b, a
114 # print(a,b)
115 
116 
117 # a, b = [1, 2]
118 # print(a, b)  # 1 2
119 
120 # a, b = [1, 2], [2, 3]
121 # print(a,b)  # [1, 2] [2, 3]
122 
123 
124 # dic = {"name": "jin", "age": "18", "sex": "male"}
125 # for i in dic.items():
126 #     print(i)
127 # 打印出来如下
128 # ('name', 'jin')
129 # ('age', '18')
130 # ('sex', 'male')
131 
132 # 但需求是 不要小括号 不要冒号 做法如下
133 # dic = {"name": "jin", "age": "18", "sex": "male"}
134 # for k, v in dic.items():
135 #     print(k, v)
136 # 打印如下
137 # name jin
138 # age 18
139 # sex male
140 
141 
142 # dic = {"name": "jin", "age": "18", "sex": "male"}
143 # v1 = dic["name"]
144 # print(v1)
145 
146 
147 # 如果不确定找的键有没有 就用get()  不会报错
148 # v2 = dic["name1"]
149 # print(v2)  # 报错了
150 
151 #get
152 # print(dic.get("name1", "没有这个键"))
153 # 不会报错  如果没有会返回你写的值     没有这个键
154 
155 
156 
157 
158 
159 
160 
161 # dic = {
162 #     "name": ["alex", "wusir", "taibai"],
163 #     "py12": {
164 #         "time": "1314",
165 #         "learn_money": 123456,
166 #         "addr": "CBD",
167 #     },
168 #     "age": 23
169 # }
170 
171 # 1) 需求 age 改成 33岁
172 # dic["age"] = 66
173 # print(dic)
174 
175 # 2) 需求 往"name"中添加一个"蜘蛛"
176 # dic["name"].append("蜘蛛")
177 # print(dic)
178 
179 # 3) 需求 把name中的"wusir"变成大写
180 # dic["name"][1] = dic["name"][1].upper()  # 这里一定得注意,要赋值
181 # print(dic)
182 
183 # 4) 需求 给py12 对应的字典 添加一个键值对 "female": 10
184 # dic["py12"]["female"] = 10
185 # print(dic)
186 
187 
188 
189 # 需求  随便输入字符串,最后测试字符串里面数字的个数
190 info = input(">>>")
191 for i in info:
192     if i.isalpha():
193         info = info.replace(i, " ")
194 
195 l = info.split()
196 print(len(l))
注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。
原文地址:https://www.cnblogs.com/pioneerLee/p/10165701.html