What is the pep8 compliant way to do deep dictionary access?
dct = {
'long_key_name_one': {
'long_key_name_two': {
'long_key_name_three': {
'long_key_name_four': {
'long_key_name_five': 1
}
}
}
}
}
E501 line too long (118 > 80 characters)
print dct['long_key_name_one']['long_key_name_two']['long_key_name_three']['long_key_name_four']['long_key_name_five']
E211 whitespace before '['
print dct['long_key_name_one']['long_key_name_two']\
['long_key_name_three']['long_key_name_four']['long_key_name_five']
E124 closing bracket does not match visual indentation
print dct['long_key_name_one']['long_key_name_two'
]['long_key_name_three']['long_key_name_four']['long_key_name_five']
This passes pep8 but seems less than ideal
print dct['long_key_name_one']['long_key_name_two'][
'long_key_name_three'
]['long_key_name_four']['long_key_name_five']
Is there a way to break up the line so that it looks nice and is pep8 compliant?
Perhaps not the best way, but it works:
But this also works, which is the suggested method:
If you use it inside a function (and you could use print() as a function since 2.7 afaik)
You could just use implicit concatenation within a parentheses