1、列表推导式
今天在看代码时看到如下语句:
arr = [[col for col in range(num)] for row in range(num)]
这是Python中典型的使用列表推导式来生成一个初始化的二维列表。
这里arr=[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
Python是一门追求简洁的语言,使用列表推导式可以生成列表,具体语法如下:
var_name = [out_exp_res for out_exp in input_list if condition]
out_exp_res: 列表生成元素表达式,可以是有返回值的函数。
for out_exp in input_list: 迭代input_list将out_exp传入out_exp_res表达式中。
if condition: 过滤条件,可以省略。
Python中生成数组除了可以使用列表推导式之外还可以使用numpy来生成。
import numpy as np
arr = np.zeros([10,10])
以上可以生成一个10x10的初始化为0的二维数组。
Python中除了有列表推导式之外,还有集合推导式、字典推导式。
d = {values:key for key,values in a.items()}
L=[1,1,1,2,2,2,3,4,5,6,7]
s = {i for i in