详解Python中映射类型的内建函数和工厂函数
|
1.基本函数介绍 (1)标准类型函数[type()、str()和 cmp()] 算法按照以下的顺序: 工厂函数被用来创建字典,如果不提供参数会生成空字典。当容器类型对象做为一个参数传递给方法 dict(),如果参数是可以迭代的,即一个序列或是一个迭代器或是一个支持迭代的对象,那每个可迭代的元素必须成对出现。在每个值对中,第一个元素是字典的键、第二个元素是字典中的值。
>>> dict(zip(('x','y'),(1,2)))
{'y': 2,'x': 1}
>>> dict([['x',1],['y',2]])
{'y': 2,'x': 1}
>>> dict([('xy'[i-1],i) for i in range(1,3)])
{'y': 2,'x': 1}
如果输入参数是(另)一个映射对象,比如一个字典对象,对其调用dict()会从存在的字典里复制内容来生成新的字典。新生成的字典是原来字典对象的浅复制版本,它与用字典的内建方法copy()生成的字典对象是一样的。但是从已存在的字典生成新的字典速度比用copy()方法慢,推荐使用copy()。 2.映射类型的内建函数和工厂函数使用实例 标准类型函数[type(),str()和cmp()]
>>> dict1 = {}
>>> dict2 = {'host':'earth','port':80}
>>> cmp(dict1,dict2)
-1
>>> dict1['host'] = 'earth'
>>> cmp(dict1,dict2)
-1
>>> dict1['port'] = 80
>>> cmp(dict1,dict2)
0
>>> dict1['port'] = 'tcp'
>>> cmp(dict1,dict2)
1
>>> dict2['port'] = 'udp'
>>> cmp(dict1,dict2)
-1
>>> cdict = {'fruits':1}
>>> ddict = {'fruits':1}
>>> cmp(cdict,ddict)
0
>>> cdict['oranges'] = 0
>>> cdict['apples'] = 0
>>> cmp(cdict,ddict)
1
dict()
>>> dict(zip(('x',2)))
{'y': 2,'x': 1}
>>> dict([['x',2]])
{'y': 2,'x': 1}
>>> dict([('xy'[i-1],3)])
{'y': 2,'x': 1}
>>> dict(x=1,y=2)
{'y': 2,'x': 1}
>>> dict8 = dict(x=1,y=2)
>>> dict8
{'y': 2,'x': 1}
>>> dict9 = dict(**dict8)
>>> dict9
{'y': 2,'x': 1}
>>> dict9 = dict8.copy()
>>> dict9
{'y': 2,'x': 1}
len()
>>> dict2 = {'name':'earth','port':80}
>>> dict2
{'name': 'earth','port': 80}
>>> len(dict2)
2
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
