06字典

  1 """
  2 两个无序的数据类型,字典,集合
  3 字典:由键-值对(key:value)组成的序列,由{}进行包裹
  4 1.key,键,由不可变的数据来做,字符串,整数(list可变的不能用来作键)
  5 2.key  是唯一的
  6 3.value 对数据类型无限制
  7 
  8 字典与列表的区别
  9 1.字典中的元素是无序的,列表中的元素是有序的,可以通过索引访问到
 10 2.字典中存放的是key:value键值对,由键来映射值
 11 3.字典,列表都是可变的,支持:增,删,改,查
 12 4.支持遍历,for;while可以遍历列表,能够遍历字典吗
 13 5.字典比列表查找数据的速度要快,更方便,更占内存
 14 
 15 字典支持的操作:
 16 1.使用键来访问值
 17 2.使用键来修改值
 18 3.使用键来添加键值对;(列表增加:append,extend,insert)
 19 
 20 字典的创建方式:
 21 1.{}
 22 2.dict()
 23    1)如果没有传参,创建空字典
 24    2)如果要把iterable对象传过来,iterable数据必须是成对出现的
 25       dict_1 = ([('a', 1)]),([('b', 2),['c', 3]])
 26    3)关键字参数,参数一开始已经赋值
 27       dict_2 = (zh=100,hai=50)
 28 3.字典推导式{x:x*2 for x in (2, 4, 6)}
 29 
 30 成员运算符应用于字典中, in  / not in
 31 如果一个键在字典中没有,直接访问会报错
 32 """
 33 # # 姓名 ,考试分数,相对应进行保存   字典
 34 # dict_1 = {"ming": 90, "wang": 100, "li": 88}
 35 # dict_1["liu"] = 100   # 添加,圆子店中没有这个键就添上
 36 # print(dict_1)
 37 # dict_1["li"] = 90   # 修改,元字典中有这个键就修改对应的值
 38 # print(dict_1)
 39 # # 运行结果:
 40 # # {'ming': 90, 'wang': 100, 'li': 88, 'liu': 100}
 41 # # {'ming': 90, 'wang': 100, 'li': 90, 'liu': 100}
 42 # print(dict_1["li"])  # 访问值,结果为:90
 43 # dict_2 = {x: x*2 for x in (2, 4, 6)}
 44 # print(dict_2)   # {2: 4, 4: 8, 6: 12}
 45 # # 使用dict()类型构造函数来创建字典
 46 # list_1 = [("a", 1), ("b", 2), ['c', 3]]
 47 # dict_3 = dict(list_1)
 48 # print(list_1)
 49 # print(dict_3)
 50 # dict_4 = dict(zhang=50, li=60)
 51 # print(dict_4)   # {'zhang': 50, 'li': 60}
 52 """
 53 成员运算符应用于字典中, in  / not in 
 54 如果一个键在字典中没有,直接访问会报错
 55 """
 56 """
 57 字典使用for循环遍历,方法:
 58 1.直接遍历键,通过键来访问值
 59 2.keys(),访问键视图,字典的内建方法
 60 3.values(),访问值视图,字典的内建方法
 61 4.items(),访问键值对视图,字典的内建方法
 62 5.enumerate()访问键的位置和键,函数
 63 """
 64 # list_1 = [("a", 1), ("b", 2), ("c", 3)]
 65 # dict_1 = dict(list_1, d=4, e=5)
 66 # print(dict_1)
 67 # # dict_1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
 68 # if "a" in dict_1:
 69 #     print(dict_1["a"])
 70 # else:
 71 #     print("dict_!中不存在'a'键")
 72 # # 结果为: 1
 73 # # 字典遍历方法1
 74 # for i in dict_1:  # key访问到的就是键
 75 #     print(i, dict_1[i])  # 通过键来获取值
 76 # # a 1
 77 # # b 2
 78 # # c 3
 79 # # d 4
 80 # # e 5
 81 #
 82 # # 字典遍历方法2:key访问键视图
 83 # for i in dict_1.keys():
 84 #     print(i)
 85 # # 结果为:
 86 # # a
 87 # # b
 88 # # c
 89 # # d
 90 # # e
 91 #
 92 # # 字典遍历方法3:values()访问键视图
 93 # for j in dict_1.values():
 94 #     print(j)
 95 # # 结果为:
 96 # # 1
 97 # # 2
 98 # # 3
 99 # # 4
100 # # 5
101 #
102 # # 字典遍历方法4:items()访问键值对视图
103 # for i, j in dict_1.items():
104 #     print(i, j)
105 # # a 1
106 # # b 2
107 # # c 3
108 # # d 4
109 # # e 5
110 #
111 # # 字符遍历方法5:使用enumerate函数
112 # for i, j in enumerate(dict_1):
113 #     print(i, j)
114 # # 0 a
115 # # 1 b
116 # # 2 c
117 # # 3 d
118 # # 4 e
119 """
120 字典的删除,方法:
121 1. del dict_1[key]  关键字del来删除某一个键值对
122    del dict_1   关键字del直接删除字典
123 2. .clear()   清空字典内容
124 3. .pop(key)  删除指定的某一个键值对
125 4. .popitem()  随即删除某一个键值对
126 字典的其他内建方法:
127 1. .get()  获取一个键对应的值,如果该键存在,就获取到其对应的值;
128            如果该键不存在,就返回None
129            如果在参数中指明默认值,则该键不存在就返回默认值
130 求字典中的key:value个数,len()
131 """
132 # del dict_1["a"]
133 # print(dict_1)  # {'b': 2, 'c': 3, 'd': 4, 'e': 5}
134 # dict_1.pop('b')
135 # print(dict_1)  # {'c': 3, 'd': 4, 'e': 5}
136 # dict_1.popitem()
137 # print(dict_1)  # {'c': 3, 'd': 4},随机删除
138 # del dict_1  # 删除字典
139 # print(dict_1)  # NameError: name 'dict_1' is not defined
140 
141 # print(dict_1.get("a"))  # 1
142 # print(dict_1.get("f"))  # None
143 # print(dict_1.get("f", 6))  # 6是默认值
144 # print(dict_1.get("a", 6))  # 1,因为a对应的值是1
145 # print(len(dict_1))  # 5对
146 
147 """
148 有一个字符串,求字符串中的每个单词出现的次数
149 1.字符串进行切片,生成一个列表;
150 2.创建一个空字典
151 3.遍历列表,取出数据,在字典中获取数据对应的值,如果为None,添加数据,
152 并为其赋值为1;如果不为None,给数据对应的值+1
153 4.让用户输入要查找的单词,并返回其在字符串中出现的次数。
154 """
155 # word = 'ming is very good ! ming is great'
156 #        'ming is cool and man . ming is student , study hard ,' 
157 #        'and score very good.'
158 # list_1 = word.split(" ")
159 # # print(list_1)
160 # dict_1 = {}
161 # for i in list_1:
162 #     if dict_1.get(i) == None:
163 #         dict_1[i] = 1
164 #     else:
165 #         dict_1[i] += 1
166 # # print(dict_1)
167 # while True:
168 #     word_1 = input("请输入一个单词:")
169 #     if word_1 in dict_1:
170 #         print(dict_1[word_1])
171 #         # break
172 #     elif word_1 == "quit":
173 #         break
174 #     else:
175 #         print("没有这个单词,请重新输入")
原文地址:https://www.cnblogs.com/zh1127487137/p/12552764.html