2015-05-13 35 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

好点。无意中将其留在那里进行调试。 –