I know you can have spaces in Python dictionary keys, but is that considered bad programming? I couldn't find anything in the PEPs about this.
Edit for clarification: On a project I'm doing, I'm working on something that parses the scoreboard output from Apache's mod_status
(see example output below.) I'm just trying to figure out the best practice. Should I end up with this:
workers = {'W': 1, '_': 9, ...}
or this:
workers = {'Sending Reply': 1, 'Waiting for Connection': 9, ...}
Example mod_status
output:
_....___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
This answer may give the correct "final" answer (yes, spaces are allowed in dictionary key strings), but the reasoning is incorrect. The reason that spaces are allowed inside dictionary key strings has nothing to do with a style guide.
Let's see how to remove spaces from dictionary keys in Python. Method #1: Using translate() function here we visit each key one by one and remove space with the none. Here translate function takes parameter 32, none where 32 is ASCII value of space ' ' and replaces it with none.
If you are using the dictionary as you would use a hash table then the space complexity is O(n).
You can use tools like pylint to check whether your code is PEP8 compatible or not :
so I tried something like :
M_D1 = {" foo bar ":1, " a bc":2, " ":3}
and pylint gave me 10/10 rating, so I guess it has no issues with the spaces used in keys.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With