可能重复:
Line continuation for list comprehensions or generator expressions in python
写一个长列表理解的最简单的方式是什么?下面的列表包含了145列:
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs') if elem.argsstring != '[]' and 'std::string' in null2string(elem.vartype)]
如果我把它分成多行,它应该是什么样子的?我在Python风格指南中找不到任何关于这方面的东西。
发布于 2012-09-11 22:39:59
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)]
https://stackoverflow.com/questions/12372186
复制相似问题