如何在for-loop python中获得价值



我为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]]

最新更新