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