概述
在python中,字典的生成一般有三种方式:
方式一:空字典+添加操作
# 方法1:
a = {}
# 方法二
a = dict()
# 接着通过update等操作
a.update()
方式二:dict(**kwargs)方式
# 方法1
a = {"a":1, "b":2, "c":3}
# 方法2
a = dict(a=1, b=2, c=3)
方式三:dict(mapping)方式
这里mapping类型的数据是什么样?很容易联想到python中的map
函数,即将某函数逐个作用于某可迭代对象中的各元素。
- 一个简单的map示例
mapper1 = map(lambda x: x**2, range(1, 5))
# 返回一个map对象,这是一个迭代器对象
# 将其列表化,此时调用迭代器的__next__方法
list(mapper1)
# 返回[1, 4, 9, 16]
# 再次列表化时只会返回孔列表
list(mapper1)
# 返回[]
- 一个更复杂的map示例
# 同样的,可以利用map作用于一个序列或者两个序列,返回一个(x,y)的元素对象
mapper2 = map(lambda x: (x, x**2), range(1, 5))
# 列表化
list(mapper2)
# 返回[(1, 1), (2, 4), (3, 9), (4, 16)]
# 因为有(x, y),所以可以考虑字典化。这也正是dict(mapping)中的mapping
mapper2 = map(lambda x: (x, x**2), range(1, 5))
# 必须重新定义,否则下面dict()时会返回空字典{}
dict(mapper2)
# 返回{1: 1, 2: 4, 3: 9, 4: 16}
- zip等函数也同样能生成mapping对象
a = zip([1,2,3], [4,5,6])
list(a)
# 列表化,返回[(1, 4), (2, 5), (3, 6)]
总结: mapping
类型的数据就是元素为(x,y)
的列表,通过dict
函数直接可生成以key为x, value为y
的字典对象。
具体的交互式文件请戳这里。
最后
以上就是俭朴龙猫为你收集整理的python中基于mapping数据的字典dict生成的全部内容,希望文章能够帮你解决python中基于mapping数据的字典dict生成所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复