Python字典键中的空格

时间:2012-11-20 14:07:22

标签: python dictionary key

我知道你可以在Python字典键中有空格,但这被认为是错误的编程吗?我在PEP中找不到任何关于此的内容。

编辑以澄清: 在我正在做的项目中,我正在开发一些解析Apache mod_status的记分板输出的东西(参见下面的示例输出)。我只想弄清楚最佳实践。我应该最终得到这个:

workers = {'W': 1,
           '_': 9,
           ...}

或者这个:

workers = {'Sending Reply': 1,
           'Waiting for Connection': 9,
           ...}

示例mod_status输出:

_....___W____._.................................................
................................................................
................................................................
................................................................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

4 个答案:

答案 0 :(得分:15)

您可以使用pylint等工具检查您的代码是否与PEP8兼容:

所以我尝试了类似的东西:

M_D1 = {" foo bar ":1, " a bc":2, " ":3}

和pylint给了我10/10评级,所以我猜它与键中使用的空格没有任何问题。

答案 1 :(得分:5)

您可能正在考虑Javascript,您可以通过其obj.fooobj['foo']的键来引用对象。在这种情况下,空格可能被视为不良形式,因为第一个版本不起作用:Python首先没有该选项,因此不会出现问题。

答案 2 :(得分:2)

如果你的钥匙是字符串,它们可能包含任何内容。

他们应该代表什么?举个例子。

答案 3 :(得分:0)

您的密钥可以是您想要的任何密钥(字符串)。如果你将它们用于内部的东西 - 空间可能不是最好的主意。否则 - 好的。