是否可以从同一个字典中的字典条目中获取值? 我想建立一个目录列表,同时引用以前添加的目录..
common_dirs = {
'root': '/var/tmp',
'java_path': os.path.join(dict.get('root'), 'java'),
'application_path': os.path.join(dict.get('java_path'), 'my_app')
}
答案 0 :(得分:5)
为什么不更新字典:
my_dict = {'root': '/var/tmp'}
my_dict.update({'file': os.path.join(my_dict.get('root'), 'file')})
请勿使用dict
作为名称。您可能稍后需要真正的dict
内置。
答案 1 :(得分:1)
没有。在您填写字典初始值设定项时,字典不存在,因此您无法引用它!
但原则上没有理由说字典不能将其自身包含为其中一个值,正如其他答案所解释的那样,但你只能在自己的初始值设定项{}
中引用它。 / p>
答案 2 :(得分:0)
您也可以尝试使用类而不是字典:
import os
class Paths:
def __init__(self, root, filename):
self.root = root
self.file = os.path.join(self.root, filename)
root = '/var/tmp'
filename = 'file'
p = Paths(root, filename)
print(p.file)
# /var/tmp/file