Python中字典也是序列类型,不一样的是索引不是连续的整数,而是其他任意不可变类型,比如字符串、数字、只包含字符串,数字,元组的元组。注意:计算机对浮点数存储只是近似值,因此用浮点数做字典键值是不明智的。
键值必须是唯一的。
字典是无序的,所以不能切片访问,但是可以对字典的全部key或value值做切片。
new_dict = { }
| 操作符 | 描述 |
|---|---|
| dic[key] | 返回dic中以key为键的值,如果不存在key则会引发KeyError |
| in/not in | 如果dic中存在/不存在键key则返回True,否则返回False |
| list[dic] | 返回字典中所有键的列表 |
| len(dic) | 返回字典中的项数 |
| del dic[key] | 删除dic[key],如果不存在key则会引发KeyError |
| iter(dic) | 返回以字典的键为元素的迭代器 |
| clear() | 移除字典中的所有元素 |
| copy() | 返回原字典的浅拷贝 |
| get(key[,default]) | 如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发 KeyError |
| items() | 返回由字典项 ((键, 值) 对) 组成的一个新视图 |
| keys() | 返回由字典键组成的一个新视图 |
| pop(key[,default]) | 如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError |
| popitem() | 从字典中移除并返回一个 (键, 值) 对。 键值对会按 LIFO (后进先出,栈)的顺序被返回 |
| reversed(dic) | 返回一个逆序获取字典键的迭代器 |
| setdefault(key[,default]) | 如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None |
| update([other]) | 接受另一个字典对象,或者一个包含键/值对(以长度为二的元组或其他可迭代对象表示)的可迭代对象。 如果给出了关键字参数,则会以其所指定的键/值对更新字典: d.update(red=1, blue=2) |
| values() | 返回由字典值组成的一个新视图 |
| dic | other | 合并 dic 和 other 中的键和值来创建一个新的字典,两者必须都是字典。当 dic 和 other 有相同键时, other 的值优先(3.9 新版功能) |
| dic |= other | 用 other 的键和值更新字典 dic ,other 可以是 mapping 或 iterable 的键值对。当 dic 和 other 有相同键时, other 的值优先(3.9 新版功能) |