簡體   English   中英

如何在for循環python中獲取價值

[英]How to get value in for-loop python

我做了for循環命令,如下所示:

for i in range(1,4):
    x = [i, i*2, i*3]
    print(x)

for循環命令的上述結果和最終值x為

[1, 2, 3]
[2, 4, 6]
[3, 6, 9]

>>> x
[3,6,9]

但是我想在此命令在for循環中迭代時獲取每個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]]

Python的方式是使用列表理解:

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

使用這種方法,您可以輕松地為該類型的任何尺寸矩陣進行修改,即可以使用

[[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]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM