python字典构造函数dict(mapping)解析
2014-05-21 10:11
411 查看
Python字典的构造函数有三个,dict()、dict(**args)、dict(mapping),其中第一个、第二个构造函数比较好理解也比较容易使用,
而dict(mapping)这个构造函数的使用比较难理解。
1 dict()构造函数可以返回一个空的字典
2 dict(**arg)构造函数,传入参数用赋值表达式,可多个赋值表达式,用逗号间隔即可。
3 dict(mapping)构造python字典构造函数,怎么传入这个mapping参数呢?Python下的mapping到底是什么呢?
看下边这个例子。
运行结果如下
map函数的作用是:每次从可迭代对象(这里是列表lik和liv)取出一个元素值,经过fmap自定义函数的处理后作为新的(返回)列表的元素,故这个map函数的操作方式很像列表解析的概念。
理解了map函数后,便可将返回值作为dict的传入参数了,从而得到一个字典。
执行结果如下所示:
以上通过map函数实现的方式,Python提供了另一个函数zip,也可构造出一个mapping对象,代码如下所示:
而dict(mapping)这个构造函数的使用比较难理解。
1 dict()构造函数可以返回一个空的字典
In [7]: d = dict() In [8]: print d {} In [9]:
2 dict(**arg)构造函数,传入参数用赋值表达式,可多个赋值表达式,用逗号间隔即可。
In [9]: d = dict(a = 12, b = 13, c = 15) In [10]: print d {'a': 12, 'c': 15, 'b': 13} In [11]:
3 dict(mapping)构造python字典构造函数,怎么传入这个mapping参数呢?Python下的mapping到底是什么呢?
看下边这个例子。
def fmap(a, b): return (a, b) lik = range(1, 9) liv = list("abcdefgh") print map(fmap, lik, liv)
运行结果如下
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'), (8, 'h')]
map函数的作用是:每次从可迭代对象(这里是列表lik和liv)取出一个元素值,经过fmap自定义函数的处理后作为新的(返回)列表的元素,故这个map函数的操作方式很像列表解析的概念。
理解了map函数后,便可将返回值作为dict的传入参数了,从而得到一个字典。
def fmap(a, b): return (a, b) lik = range(1, 11) liv = list("abcdefghij") lim = map(fmap, lik, liv) d = dict(lim) print d
执行结果如下所示:
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e', 6: 'f', 7: 'g', 8: 'h', 9: 'i', 10: 'j'}
以上通过map函数实现的方式,Python提供了另一个函数zip,也可构造出一个mapping对象,代码如下所示:
In [77]: k = list("abcdefghij") In [78]: print k ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] In [79]: v = range(11, 21) In [80]: print v [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] In [81]: m = zip(k,v) In [82]: print m [('a', 11), ('b', 12), ('c', 13), ('d', 14), ('e', 15), ('f', 16), ('g', 17), ('h', 18), ('i', 19), ('j', 20)] In [83]: d = dict(m) In [84]: print d {'a': 11, 'c': 13, 'b': 12, 'e': 15, 'd': 14, 'g': 17, 'f': 16, 'i': 19, 'h': 18, 'j': 20}
相关文章推荐
- python字典构造函数dict(mapping)解析
- python字典构造函数dict(mapping)解析
- python内置映射类型(mapping type):dict哈希字典遍历方式及其它用法举例
- 列表(list)和字典(dict)数据排序 Python
- python 将字符串转换成字典dict
- Python中将字符串类型转为字典类型(string to dict)
- python学习五 列表(list)、字典(dict)、字符串(string)
- python 中 列表(list)和字典(dict)数据排序
- python 字典(dict)get方法应用
- python Excel解析成Dict格式
- CDays-3 习题二 (字典及文件读取练习)及相关内容解析。Python 基础教程
- 【Python基础】之对字典进行排序操作(sort by the values of dict)
- Python 中两个字典(dict)合并
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python dict字典
- Python dict dictionaries Python 数据结构——字典
- Python 中两个字典(dict)合并
- Python源码剖析[12] —— 字典对象PyDictObject(1)
- Python源码剖析[13] —— 字典对象PyDictObject(2)
- python小例子之4 -- 列表(list)和字典(dict)数据排序