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