Python拾珍:2. 列表理解

下面的函数接收一个字符串列表,将每个元素通过字符串方法 capitalize 进行映射,并返回一个新的字符串列表:

def capitalize_all(t):
    res = []
    for s in t:
        res.append(s.capitalize())
    return res

我们可以用列表理解(list comprehension)把这个函数写得更紧凑:

def capitalize_all(t):
    # res = []
    # for s in t:
    #     res.append(s.capitalize())
    # return res
    return [s.capitalize() for s in t]

实例2,是一段使用过滤的代码:

def only_upper(t):
    res = []
    for s in t:
        if s.isupper():
            res.append(s)
    return res

我们可以用列表理解将其重写为:

def only_upper(t):
    # res = []
    # for s in t:
    #     if s.isupper():
    #         res.append(s)
    # return res
    return [s for s in t if s.isupper()]

本文参考自《像计算机科学家一样思考Python (第2版)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容