C语言的二维数组下标很有用。python也能实现,而且更灵活。
定义
d = [[1]*2 for i in range(3)] : 一个3行,2列初始化为1的二维数组。
既:
[[1, 1],
[1, 1],
[1, 1]]使用:
举例:赋值 d[0][1] = 2 :
[[1, 2],
[1, 1],
[1, 1]]差异
python 更灵活的地方在于定义的时候,可以用变量定义,而C则必须使用确定的数值(因为编译时必须确定分配空间)。
C语言:
char d[][4] = {0}; // 必须至少指定列数。
python:
d = [[a]*b for i in range(c)]
如果 a,b,c是函数传参,就意味着可根据传入参数而分配空间大小。。