我为loop命令做了如下:
for i in range(1,4):
x = [i, i*2, i*3]
print(x)
上面的for-loop命令和最终值x的结果
[1, 2, 3]
[2, 4, 6]
[3, 6, 9]
>>> x
[3,6,9]
,但是我想在此命令中迭代时要获取每个X。例如,我猜列表x的顺序值,例如
x1 = [1,2,3]
x2 = [2,4,6]
x3 = [3,6,9]
我最终想获得x。
的3x3矩阵形式X = [[1,2,3],
[2,4,6],
[3,6,9]]
但是,我不知道获取每个列表x值或制作x矩阵的方法。
这是使用简单的for
循环的一种方法。首先初始化列表。然后在每次迭代期间将列表附加到此列表。
res = []
for i in range(1, 4):
res.append([i, i*2, i*3])
print(res)
[[1, 2, 3], [2, 4, 6], [3, 6, 9]]
Pythonic方法是使用列表理解:
res = [[i, i*2, i*3] for i in range(1, 4)]
您可以使用列表理解:
X = [[k*i for i in range(1,4)] for k in range(1, 4)]
print(X)
>>>[[1, 2, 3], [2, 4, 6], [3, 6, 9]]
使用此方法,您可以轻松地修改此类型的任何尺寸矩阵,即可以使用
生成一个4 x 4矩阵的矩阵[[k*i for i in range(1,5)] for k in range(1, 5)]
>>>[[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12], [4, 8, 12, 16]]
您可以列出第二个列表并将其附加到x
x = []
for i in range(1,4):
temp = [i, i*2, i*3]
x.append(temp)
为什么不创建一个列表,然后将更多列表附加到这样:
x = []
for in in range(1,4):
x.append([i, i*2, i*3])
print(x)
# [[1,2,3],
# [2,4,6],
# [3,6,9]]