【发布时间】:2016-01-31 20:44:14
【问题描述】:
我想做的是从字符串创建一个“字典路径”。我不认为这是正确的术语,但基本上,如果我有一本看起来像这样的字典:
'myDict'{
'classes':{
'students':{
'grades':{
'grade':'A'
}
}
}
}
我有一个名为 current_dict 的变量,其中现在有 myDict,所以 current_dict = myDict,以及一个存储为 "classes.students.grades" 的字符串,我想操作该字符串以便我拥有 [classes][students][grades] .但是,我希望能够使用它来重新分配current_dict。所以,我想说current_dict = myDict['classes']['students']['grades']。我尝试将字符串转换为"[classes][students][grades]",但这不起作用,因为它将整个内容标识为单个字符串,包括括号。如何操作"classes.students.grades" 以便重新分配current_dict = myDict['classes']['students]['grades']?因此,在我完成此操作后,current_dict 将变为 grades 并且看起来像:
{
grade': 'A'
}
【问题讨论】:
-
使用
class对象或collections.namedtuple;在某些时候你可能需要用collections.defaultdict作弊,见docs.python.org/2/library/collections.html -
看起来您正在尝试重新发明面向对象的编程,但有点从里到外。你有什么理由不只使用对象吗?
标签: python dictionary syntax