我正在为dict键分配一堆值,有些对在语义上属于其他对,但我不能缩进以显示占有因为Python。这类似于我所拥有的:
boxColors["large trunk"] = "black"
boxColors["shoebox 1"] = "red"
boxColors["shoebox 2"] = "tan"
boxColors["jewelery box"] = "white"
boxColors["tacklebox"] = "green"
但是,鞋盒在行李箱里面,而首饰盒在鞋盒2里面。如果我能缩进这样的话会更容易看到这种关系:
boxColors["large trunk"] = "black"
boxColors["shoebox 1"] = "red"
boxColors["shoebox 2"] = "tan"
boxColors["jewelery box"] = "white"
boxColors["tacklebox"] = "green"
显然我不能,因为Python如何解释空格缩进。是否有某种无操作的东西,我可以在一行开始时推动其余的线路而不改变其功能?例如,如果这是某种空白重要版本的C,我会这样做:
boxColors["large trunk"] = "black"
/**/boxColors["shoebox 1"] = "red"
/**/boxColors["shoebox 2"] = "tan"
/******/boxColors["jewelery box"] = "white"
/**/boxColors["tacklebox"] = "green"
但是,唉,Python没有C风格的块注释。有办法做我想做的事吗?
(是的,我意识到我故意颠覆语言的设计。能够以这种方式颠覆它会提高我的代码的可读性。我知道,我知道,Python的规则旨在强制执行可读性,但它们并不完美,我认为我找到了一个边缘案例。)
编辑:我考虑过用换行符分隔各个部分,但这并不能让我展示多层次的所有权关系,我希望这些关系会成群结队。
答案 0 :(得分:3)
不要使用单独的赋值语句。使用dict文字。例如,如果您使用这些语句从头开始初始化空字典,则可以改为
boxColors = {
'large trunk': 'black',
'shoebox 1': 'red',
...
}
或者如果您要更新现有的词典,
boxColors.update({
'large trunk': 'black',
'shoebox 1': 'red',
...
})