【发布时间】:2013-04-18 17:13:15
【问题描述】:
什么是符合 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 标准?
【问题讨论】:
-
如果键已经在列表中并且您知道该值存在,那么您可以:
value = reduce(dict.get, keys, dct)。