什么是pep8兼容的深度字典访问方式?
dct = {
'long_key_name_one': {
'long_key_name_two': {
'long_key_name_three': {
'long_key_name_four': {
'long_key_name_five': 1
}
}
}
}
}
E501线太长(118> 80个字符)
print dct['long_key_name_one']['long_key_name_two']['long_key_name_three']['long_key_name_four']['long_key_name_five']
在'['
之前的E211空格print dct['long_key_name_one']['long_key_name_two']\
['long_key_name_three']['long_key_name_four']['long_key_name_five']
E124右括号与视觉缩进不匹配
print dct['long_key_name_one']['long_key_name_two'
]['long_key_name_three']['long_key_name_four']['long_key_name_five']
这通过了pep8,但似乎不太理想
print dct['long_key_name_one']['long_key_name_two'][
'long_key_name_three'
]['long_key_name_four']['long_key_name_five']
有没有办法打破这条线,使它看起来很好并且符合pep8?
答案 0 :(得分:7)
也许不是最好的方式,但它有效:
a = dct['long_key_name_one']['long_key_name_two']
b = a['long_key_name_three']['long_key_name_four']['long_key_name_five']
但这也有效,这是建议的方法:
print (dct['long_key_name_one']['long_key_name_two']
['long_key_name_three']['long_key_name_four']
['long_key_name_five'])
答案 1 :(得分:4)
如果你在一个函数中使用它(并且你可以使用print()作为函数,因为2.7 afaik)
您可以在括号中使用隐式连接
print(dct['long_key_name_one']
['long_key_name_two']
['long_key_name_three']
['long_key_name_four']
['long_key_name_five'])