dict : 字典
-
Dict(字典)跟 set(集合)很像,其差别在于 dict 中的元素是以「键 : 值」成对的方式来储存,方便我们用键(key)来查询对应的值。
-
字典中的键必须是唯一的,但值可以重复。
-
字典是以大括号 {key1 : value1, key2 : value2, …} 来标示。
-
如果要建立空字典,可以用空的大括号 { } 或是不加参数的 dict()。
-
字典中的键及值都可以是任意型别,例如:{ 2.0 : ‘OK’, ‘命中’ : 100 }。
-
dict() 函式也可将其他容器类型转为字典,例如
-
由于字典是由「键 : 值」所组成,而且键不会重复,因此可以用索引算符 [ ]来以键取值。
-
由于字典是可以更改的,因此可以用索引进行增加、删除元素。
例如: d = { ‘红茶’ : 25, ‘果汁’ : 45 }
Dict 的算符
-
字典在算符部分与集合(set)一样,不支持「与顺序有关」的串接(+)及重复(*)运算。
-
可用 in 和 not in 判断某键(key)是否存在字典中?
-
比较算符,则只能用 == 和 != 来判断 2 个字典中的元素是否完全相同?
Dict 的方法(method)
-
用 get(k, v) 可传回键为 k 的值,若 k 不存在,则传回 v(默认值)。若省略则传回 None。
-
setdefault(k, v) 功能与 get(k, v) 相同,其差别是如果键 k 不存在,会将 k:v 加入到字典中。若 v 省略,则加入 None。
-
pop(k, v) 和 get(k, v) 相同,但还会将查到的元素删除,没查到就会传回 v。如果 v 省略,则在找不到键 k 时会发生
KeyError 错误。 -
popitem() 则是随机删除一个元素,并传回一个 tuple 类型的 (键, 值) 。
-
d1.update( d2 ) 可以将字典 d2 加到 d1 中,若键相同则值覆盖。
-
copy() 及 clear() 可以复制及清空字典,其用法和 list 相同。
-
keys(), values(), items() 可以整批读取字典中的键、值或键与值。它们分别传回 dict_keys, dict_values 及 dict_items 的数据,可再用 list() 或 tuple() 等转换成易处理的数据。