t = [[i+1+j*n for i in range(n)] for j in range(m)]
等效于:
# t = [[i+1+j*n for i in range(n)] for j in range(m)]
for j in range(m):
for i in range(n):
t[i][j] = (i+1+j*n)
这是一种列表推导(list comprehension)的语法,它将会创建一个mn的二维列表,其中每个元素都是(i+1+jn)。
其中,i和j都是从0开始,分别在内部和外部循环中迭代,n和m是已知的常量。
如果m = 2,n = 3的话,那么输出的结果就是:
t = [[1, 2, 3], [4, 5, 6]]
如果m = 3, n = 2的话,
t = [[1, 2], [4, 5], [7, 8]]
这是一种使用列表推导 (list comprehension) 的方式来定义二维列表。它会创建一个大小为 m*n 的二维列表,其中第 j 行第 i 列的元素为 (i+1+jn)。
m 和 n 都是已知的常量。
例如
就是这么个东西:
df=[]
for j in range(m):
d=[]
for i in range(n):
d.append(i+1+j*n)
df.append(d)