2015-05-13 57 views
1

如果我有一本字典,如何獲取密鑰,並允許用戶使用每個密鑰的不同值創建無限制版本?製作無限版的字典,相同的鍵,不同的值

+3

這肯定是一個[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)如果我曾經見過一個 – CoryKramer

+0

抱歉,大家,希望我有讓我的問題更好:) –

+0

我敢打賭'dict.copy'在這裏很有用。 – Kevin

回答

0
my_keys = ["Hello", "World"] 
my_values1 = ["Why", "that"] 

my_dict1 = dict(zip(my_keys, my_values1)) 

my_dict2 = dict.fromkeys(my_dict1.keys()) 

變1允許來自任何字典的簡單結構:鍵和值的列表,而my_dict2呈現varaint創建一個「空」(所有的值都是從現有的None字典你也可以混合兩者(我將它作爲一個練習;-)

0

可以使用dict.fromkeys()方法:

def copy_keys(your_dict=None): 
    if your_dict != None: 
     return dict.fromkeys(your_dict.keys()) 
    else: 
     return dict() 

 

blah = dict((('blah',1),('haha',2))) 
>>>blah 
{'blah': 1, 'haha': 2} 

 

>>> copy_keys(blah) 
{'blah': None, 'haha': None} 

我的例子功能initalizes的值None,但你可以輕鬆適應它由value參數傳遞給.fromkeys(seq[,value])方法來插入自己的值。

+0

爲什麼要在中間使用interator?鍵已經返回一個視圖對象。 – Olaf

+0

好點。無意中將其留在那裏進行調試。 –