如何在Python中将字符串值指定为空字典?

时间:2015-10-16 16:05:21

标签: python

如何在Python中将字符串值指定为空字典?例如,

print hdr  
AB_1_15_Oct_2015  
hdr = {}  
hdr  
{}  

但我希望AB_1_15_Oct_2015成为一个空字典。

3 个答案:

答案 0 :(得分:1)

通常认为动态分配这样的变量是一种不好的做法。有办法这样做,例如使用exec,但它很危险。 更好的想法是使用字典,因为动态创建键和值很简单。稍微修改现有代码:

hdr = "AB_1_15_Oct_2015"
someDict = {}
someDict[hdr] = {}

然后你可以从顶层访问它

someDict[hdr]['a'] = "spam"

或者通过指定另一个变量来引用它:

hdrDict = someDict[hdr]
hdrDict['b'] = "parrot"

答案 1 :(得分:0)

如果您说想要一个名为" AB_1_15_Oct_2015"的词典。您需要显式定义名为:

的字典
AB_1_15_Oct_2015 = {}

如果您的意思是希望能够根据字符串中的值设置变量名称,则无法实现此目的。此外,我无法想出你想要的理由。变量名仅在代码内部使用,因此能够根据日期更改变量名称不会帮助您跟踪特定日期。如果没有关于你想要完成什么的更多信息,很难说出你需要什么,但我认为这样的事情可以实现你想要的:

hdr = {
    "identifier": "AB_1_15_Oct_2015",
    "data": whatever_you_wanted_to_store
    }

标识符以可访问的方式附加到数据的方式。

答案 2 :(得分:0)

花了一段时间才弄明白,但试试这个:

hdr = "AB_1_15_Oct_2015"
print hdr  
locals()[hdr] = {}

print AB_1_15_Oct_2015

输出:

  

AB_1_15_Oct_2015

     

{}

Demo