制作无限版本的dict,相同的键,不同的值

时间:2015-05-13 19:32:20

标签: python dictionary

如果我有一本字典,我该如何获取密钥,并允许用户使用不同的值为每个密钥创建无限版本?

2 个答案:

答案 0 :(得分:0)

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

my_dict1 = dict(zip(my_keys, my_values1))

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

Variant 1允许从两者中简单构造任何dict:键和值列表,而my_dict2提供一个varaint来创建一个"空" (所有值都是None来自现有的值。你也可以将两者混合(我将其留作练习; - )。

答案 1 :(得分: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}

我的示例函数将值初始化为None,但您可以通过将value参数传递给.fromkeys(seq[,value])方法来轻松调整它以插入您自己的值。