可能重复:
行继续在Python列表内涵或发电机表达式
什么是最Python的方式来写一个长长的清单理解? 这个列表解析出来的145列:
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs') if elem.argsstring != '[]' and 'std::string' in null2string(elem.vartype)]
它应该如何看,如果我打破它成多行? 我找不到任何关于这在Python风格指南什么。
PEP 8还挺早列表内涵。 我通常会打破这些了多行的逻辑位置:
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs')
if elem.argsstring != '[]' and
'std::string' in null2string(elem.vartype)]
天色虽然,我没有放弃参与测试在首位:
def stdstring_args(elem):
if elem.argstring == '[]':
return False
return 'std::string' in null2string(elem.vartype)
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs')
if stdstring_args(elem)]