List Comprehensions
[out_express for out_express in input_list] # 基本语法
[out_express for out_express in input_list if out_express_condition] # 条件
[i for row in matrix for i in row] 嵌套循环推导式
循环URL 通过列表推导式
urls = [f"http://etymon.cn/yingyucigen/list_1_{page}.html" for page in range(1, 39)]
返回列表的平方
def list_squares():
squares = []
for i in range(10):
squares.append(i * i)
return squares
def lambda_list_squares():
result = list(map(lambda i: i * i, range(10)))
return result
def list_comprehensions_squares():
result = [i * i for i in range(10)]
return result
# 以上三个function是等价的
将列表的所有正数项*2
# [out_express for out_express in input_list if out_express_condition] # 条件
def list_comprehensions_conditional():
li = [6, 2, 6, 7, -15, 8, -17, -10, -15, -4]
result = [i * 2 for i in li if i > 0]
return result
生成列表li为[‘1a’, ‘1b’, ‘1c’, ‘2a’, ‘2b’, ‘2c’, ‘3a’, ‘3b’, ‘3c’]
def generation_list():
# [i + j for i in "123") for j in "ABC"]
result = [i + j for i in list(map(lambda x: x, "123")) for j in list(map(lambda x: x, "ABC"))]
return result
# print(list(map(lambda x:x, "123")))
# print(list(map(lambda x:x, "ABC")))
# 把range转为字符串?
print(list(map(str, range(1, 4))))
参考: