簡體   English   中英

在for循環中初始化dict的pythonic方式

[英]pythonic way of initialization of dict in a for loop

有沒有python初始化字典的方法?

animals = ["dog","cat","cow"]
for x in animals:
    primers_pos[x]={}

有沒有像

(primers_pos[x]={} for x in animals)

您可以使用字典理解功能(Python 2.7+支持):

>>> animals = ["dog", "cat", "cow"]
>>> {x: {} for x in animals}
{'dog': {}, 'cow': {}, 'cat': {}}

您也可以使用collections.defaultdict

primer_pos = defaultdict(dict)

然后,每當您使用新密鑰引用primer_pos時,都會自動創建一個字典

primer_pos['cat']['Fluffy'] = 'Nice kitty'

將通過鏈式創建{'Fluffy':'Nice Kitty'}作為字典“ primary_pos ”中關鍵字“ cat”的

hash = {data: True for data in ['a', 'b', 'c']}
print(hash)

輸出:{'a':真,'b':真,'c':真}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM