首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Pythonic风格的多行列表理解

Pythonic风格的多行列表理解
EN

Stack Overflow用户
提问于 2012-09-11 22:36:26
回答 1查看 34.6K关注 0票数 41

可能重复:

Line continuation for list comprehensions or generator expressions in python

写一个长列表理解的最简单的方式是什么?下面的列表包含了145列:

代码语言:javascript
复制
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs') if elem.argsstring != '[]' and 'std::string' in null2string(elem.vartype)]

如果我把它分成多行,它应该是什么样子的?我在Python风格指南中找不到任何关于这方面的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-11 22:39:59

PEP 8有点早于列表理解。我通常在逻辑位置上用多行将它们分开:

代码语言:javascript
复制
memberdef_list = [elem for elem in from_cache(classname, 'memberdefs')
                  if elem.argsstring != '[]' and 
                     'std::string' in null2string(elem.vartype)]

不过,在大多数情况下,我一开始就放弃了相关的测试:

代码语言:javascript
复制
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)]
票数 56
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12372186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档