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)#打印的結果為空
{}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM