Python字典的构造函数有三个,dict()、dict(**args)、dict(mapping),当中第一个、第二个构造函数比較好理解也比較easy使用,

而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对象,代码例如以下所看到的:



相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
  • 2021-08-25
  • 2021-08-31
  • 2021-10-16
  • 2021-09-14
  • 2021-09-10
猜你喜欢
  • 2021-09-06
  • 2022-02-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案