用于多行列表理解的python风格

2024-04-19 21:39:46 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Line continuation for list comprehensions or generator expressions in python

写一个长长的单子,什么样的理解方式最像Python?这份清单共有145列:

memberdef_list = [elem for elem in from_cache(classname, 'memberdefs') if elem.argsstring != '[]' and 'std::string' in null2string(elem.vartype)]

如果我把它分成多行,它看起来应该如何?我在Python风格的指南中找不到关于这个的任何内容。


Tags: orinfor方式linegeneratorexpressionslist
1条回答
网友
1楼 · 发布于 2024-04-19 21:39:46

PEP8有点早于列表理解。我通常在逻辑位置通过多条线将它们分开:

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)]

相关问题 更多 >