python--{字典}-dict

  1 # dict字典
  2 # 字典是一种组合数据, 没有顺序的组合数据, 数据以键值对形式出现
  3 # 创建空字典1
  4 d1 = {}
  5 print(d1)
  6 
  7 # 创建空字典2
  8 d2 = dict()
  9 print(d2)
 10 
 11 # 创建有值得字典, 每一组数据都用冒号隔开, 每一对键值对用逗号隔开
 12 d = {"one": 1, "two": 2, "three": 3}
 13 print(d)
 14 
 15 # 用dict创建内容字典1
 16 d = dict({"one": 1, "two": 2, "three": 3})
 17 print(d)
 18 
 19 # 用dict创建内容字典2
 20 # 利用关键字参数
 21 d = dict(one=1, two=2, three=3)
 22 print(d)
 23 
 24 
 25 d = dict([("one", 1), ("two", 2), ("three", 3)])
 26 print(d)
 27 
 28 # a = 1
 29 # b = 2
 30 # c = 3
 31 # d = 4
 32 # list = [a, b, c, d]
 33 # mydict = dict.fromkeys(list, "?")
 34 # print(mydict)
 35 
 36 # 字典的特征
 37 #     -字典是序列类型, 但是是无序的序列, 所以没有分片和索引
 38 #     -字典中的数据每个都有键值对,即KV对
 39 #         -key:必须是可哈希的值,比如int,string, float, tuple, 但是list, set, dict不行
 40 #         -value:任何值
 41 # 字典常见操作
 42 #     -访问数据
 43 d = {"one": 1, "two": 2, "three": 3}
 44 # 注意访问格式
 45 # 中括号内饰键值
 46 print(d["one"])
 47 
 48 d["one"] = "eins"
 49 print(d)
 50 
 51 # 删除某个操作
 52 # 使用del操作
 53 del d["one"]
 54 print(d)
 55 
 56 # 成员检查in, not in
 57 # 成员检查的是key内容
 58 d = {"one": 1, "two": 2, "three":3}
 59 if 2 in d:
 60     print("value")
 61 
 62 if "two" in d:
 63     print("key")
 64 
 65 if ("two", 2) in d:
 66     print("kv")
 67 
 68 
 69 d = dict([("one", 1), ("two", 2), ("three", 3)])
 70 # 遍历在python2 和 3 中区别比较大, 代码不通用
 71 # 按key来使用for循环
 72 for k in d:
 73     print(k, "--", d[k])
 74 
 75 # 同上
 76 for k in d.keys():
 77     print(k, "--", d[k])
 78 
 79 # 只访问字典的值
 80 for v in d.values():
 81     print(v)
 82 
 83 # 注意以下特殊用法
 84 for k, v in d.items():
 85     print(k, "--", v)
 86 
 87 
 88 # 字典生成式
 89 d = dict([("one", 1), ("two", 2), ("three", 3)])
 90 
 91 # 的常规字典生成
 92 dd = {k: v for k, v in d.items()}
 93 print(dd)
 94 
 95 # 加限制条件的常规字典生成
 96 dd = {k: v for k, v in d.items() if v % 2 == 0}
 97 print(dd)
 98 
 99 
100 # 字典的相关函数
101 # 通用函数:len, max, min, dict
102 # *str(字典):返回字典的字符串格式
103 d = dict([("one", 1), ("two", 2), ("three", 3)])
104 print(d)
105 print(str(d))
106 
107 
108 # clear:清空字典
109 # items:返回字典的键值对组成的元组格式
110 d = dict([("one", 1), ("two", 2), ("three", 3)])
111 # d = {'one': 1, 'two': 2, 'three': 3}
112 print(d)
113 i = d.items()
114 print(type(i))
115 print(i)
116 
117 
118 # keys:返回字典的键组成的一个结构
119 k = d.keys()
120 print(type(k))
121 print(k)
122 
123 
124 # values:同理, 一个可迭代的结构
125 v = d.values()
126 print(type(v))
127 print(v)
128 
129 
130 # get :根据指定键返回相应的值, 好处是, 可以设置默认值
131 d = dict([("one", 1), ("two", 2), ("three", 3)])
132 print(d)
133 print(d.get("on333"))
134 
135 # get 默认值是None, 可以设置
136 print(d.get("on444", 100))
137 
138 # 一以下会报错
139 # print(d["on333"])
140 
141 
142 # fromkeys:使用指定的序列作为键, 使用一个值作为字典的所有的键的值
143 l = ["eins", "zwei", "dree"]
144 # 注意fromkeys俩个参数的类型
145 d = dict.fromkeys(l, "hahaha")
146 print(d)
147 
148 
149 
150 :::
151 {}
152 {}
153 {'one': 1, 'two': 2, 'three': 3}
154 {'one': 1, 'two': 2, 'three': 3}
155 {'one': 1, 'two': 2, 'three': 3}
156 {'one': 1, 'two': 2, 'three': 3}
157 1
158 {'one': 'eins', 'two': 2, 'three': 3}
159 {'two': 2, 'three': 3}
160 key
161 one -- 1
162 two -- 2
163 three -- 3
164 one -- 1
165 two -- 2
166 three -- 3
167 1
168 2
169 3
170 one -- 1
171 two -- 2
172 three -- 3
173 {'one': 1, 'two': 2, 'three': 3}
174 {'two': 2}
175 {'one': 1, 'two': 2, 'three': 3}
176 {'one': 1, 'two': 2, 'three': 3}
177 {'one': 1, 'two': 2, 'three': 3}
178 <class 'dict_items'>
179 dict_items([('one', 1), ('two', 2), ('three', 3)])
180 <class 'dict_keys'>
181 dict_keys(['one', 'two', 'three'])
182 <class 'dict_values'>
183 dict_values([1, 2, 3])
184 {'one': 1, 'two': 2, 'three': 3}
185 None
186 100
187 {'eins': 'hahaha', 'zwei': 'hahaha', 'dree': 'hahaha'}

 

posted @ 2018-09-27 17:05  Supl  阅读(168)  评论(0编辑  收藏  举报