我正在为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的规则是为了增强可读性而设计的,但它们并不完美,我想我已经找到了一个边缘案例。)
编辑:我曾考虑过用换行符分隔部分,但这并不能让我展示多层深层次的所有权关系,我希望这种关系会成群结队。
boxColors = {
'large trunk': 'black',
'shoebox 1': 'red',
...
}
或者如果你正在更新现有的dict,
boxColors.update({
'large trunk': 'black',
'shoebox 1': 'red',
...
})