Python_快速生成字典_fromkeys()

一、fromkeys(seq,value)

  1、说明:

  指定key值和value值,快速生成字典

  seq -- 字典键值列表。
  value -- 可选参数, 设置键序列(seq)的值

>>> sd = {}
>>> d = ["q","w","e"]
>>> sd.fromkeys(d,1)
{'q': 1, 'w': 1, 'e': 1}

 2、细节

  (1)注意:value值为序列的效果

>>> sd = {}
>>> d = ["q","w","e"]
>>> v = [1,2,3]
>>> sd.fromkeys(d,v)#value值为序列的效果
{'q': [1, 2, 3], 'w': [1, 2, 3], 'e': [1, 2, 3]}

 (2)多次赋值时,不会追加,会覆盖

>>> d = {"s":6}
>>> s = ["q","w","e"]
>>> d = d.fromkeys(s,1)#多次赋值操作
>>> print(d)#会将原来的值覆盖
{'q': 1, 'w': 1, 'e': 1}

 

  3、实例: 

    一个函数传入一个List列表,生成一个字典:所有元素作为字典的key

   正确写入:

>>> def func(L):
...     d_result = {}
...     for i in l:
...         d_result = d_result.fromkeys(L,1)#要有变量赋值,否则结果会为空
...     return d_result
...
>>> s = ["q","w","e"]
>>> func(s)
{'q': 1, 'w': 1, 'e': 1}

 *注意:错误写入

>>> def func(l):
...     d_result = {}
...     for i in l:
...         d_result.fromkeys(i,"1")#没有进行赋值
...     return d_result
...
>>> s = ["q","w","e"]
>>> func(s)#打印的结果为空
{}

 

posted @ 2018-10-02 17:59  翻滚的小强  阅读(1820)  评论(0编辑  收藏  举报