Python 成长笔记

Python拾珍:2. 列表理解

2018-02-26  本文已影响4人  赵者也

下面的函数接收一个字符串列表,将每个元素通过字符串方法 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版)

上一篇 下一篇

猜你喜欢

热点阅读