使用fromkeys()时是否应确定值类型以创建新字典

时间:2018-10-24 00:55:21

标签: python dictionary

如果我按如下方式预先创建了字典:

dict_key = ["[ key 01 ]", "[ key 02 ]", "[ key 03 ]"]
my_dict = dict.fromkeys(dict_key, None)

# my_dict
{
    'key01' : None,
    'key02' : None,
    'key03' : None,
}

在我的代码末尾,预计该字典将返回以下内容:

{
    'key01' : 'value01',
    'key02' : 'value02',
    'key03' : 'value03',
}

其中的值将为字符串类型。

我的问题是创建my_dict,因为如果我尝试使其符合Python标准,则值将为字符串类型,或者在这种情况下,请他人检查我的代码-应该我将其更改为dict.fromkeys(dict_key, '')还是可以使用?

1 个答案:

答案 0 :(得分:1)

添加其他内容:

import re
print({re.sub('[^a-zA-Z0-9]','',k):'value0%d'%(list(my_dict.keys()).index(k)+1) for k,v in my_dict.items()})

要获得所需的输出:

{
    'key01' : 'value01',
    'key02' : 'value02',
    'key03' : 'value03',
}

注意:my_dict = dict.fromkeys(dict_key, None)不会返回您认为的样子。