字典是python的内置数据类型,使用广泛,甚至在需要使用一些较为简单的类实例的时候,我都使用字典来代替。下面把字典常用的使用方法记录一下。
字典的创建
字典的创建(通过dict)python的解释共有四种方法,下面一一介绍。
dict()
创建一个空的字典,与直接写"{}"一样,如下:
>>> dict() {} >>>
dict(mapping)
mapping为一个列表,每一个元素为刚好包含两个元素的元组,第一个元素为字典的key,第二个元素为该key对应的值,如下:
>>> mapList = [('name','James'),('age',27),('sex','man'),('company','opmex')] >>> dict(mapList) {'age': 27, 'company': 'opmex', 'name': 'James', 'sex': 'man'} >>>
注意:关于字典的key,有下面的一段英文“If a class does not define a __cmp__() method it should not define a __hash__() operation either; if it defines __cmp__() or __eq__() but not __hash__(), its instances will not be usable as dictionary keys.”
dict(iterable)
暂时不知道怎么用的
dict(**kwargs)
关键字参数,例如:
>>> dict(name='An',age=27,sex='man',other='other information') {'age': 27, 'other': 'other information', 'name': 'An', 'sex': 'man'} >>>
另外,{}.fromkeys(S,v)也可以创建字典,更严格的说应该是修改一个空的字典的值,有两个参数,第一个如列表或元组,决定字典的key,第二个是一个value,如果value给定,创建成功后全部key对应的值均为value,如果未给定则全为None。如下:
>>> {}.fromkeys(['name','age','sex'],'default value') {'age': 'default value', 'name': 'default value', 'sex': 'default value'} >>> >>> {}.fromkeys(['name','age','sex']) {'age': None, 'name': None, 'sex': None} >>>
字典的访问
数据准备如下:
>>> mapList = [('name','James