dict是python内建数据结构中最重要的。又称哈希表或者关联数组。字典是拥有灵活尺寸的键值对。其中键和值都是Python中的对象。字典的创建方式使用大括号来创建。
1 | dict1 = {} |
访问,插入以及设置元素的值可以使用operator[]:
1 | d1["test"] = "hello" |
使用 in 或者 not in 判断一个key是否在字典中:
1 | print('a' in d1) |
使用 del关键字或者pop函数删除元素,pop函数会返回对应的值:
1 | del d1['b'] |
key函数和values函数会获取字典中键和值的迭代器,使用update函数可以将两个字典合并,在合并的时候如果传入给update函数的字典中包含原来字典的中key并且这个key对应的value发生变化,那么原来的字典中的此key对应的value会更新:
1 | d2 = {'a' : 'you','b':'him','q':'qq'} |
字典中的get函数和pop函数都可以返回一个默认值,如果key不在字典中,那么get函数会返回一个None,而pop方法则会抛出异常:
1 | value = dict1.get("test") |
字典的setdefault() 函数和 get()函数 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。内建的collections 有一个defaultdict类,这个类可以生成符合要求的字典,可以向字典中出入类型或能在各位置生成默认值的函数:
1 | from collections import defaultdict |
字典的key的类型必须是不可变的对象,整数、浮点数、字符串或者元组且元组内对象是不可变对象。通过hash函数可以检查一个对象是否可以用作字典的key