gpt4 book ai didi

python - 在 python 中的 for 循环的每次迭代后为数据创建新列

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:07 24 4
gpt4 key购买 nike

使用下一个代码,我想将结果放入不同 m 值的列中

import numpy as np 
for m in np.arange(0, 4, 1):
for n in np.arange(1, 4, 1):
coef = 2*m/n
print coef

结果是:

0
0
0
2
1
0
4
2
1
6
3
2

我想要这个

0 0 0
2 1 0
4 2 1
6 3 2

或者直接获取列,即行值的总和

0 + 0 + 0 = 0
2 + 1 + 0 = 3
4 + 2 + 1 = 7
6 + 3 + 2 = 11

最佳答案

在打印后添加一个逗号,这样我们就不会在内部循环之外添加一个换行符和另一个打印来分隔每一行:

import numpy as np
for m in np.arange(0, 4, 1):
for n in np.arange(1, 4, 1):
coef = 2*m/n
print coef,
print

这会给你:

0 0 0
2 1 0
4 2 1
6 3 2

或者使用 print 作为函数:

from __future__ import print_function


import numpy as np

for m in np.arange(0, 4, 1):
print(*(2 * m / n for n in np.arange(1, 4, 1)))

要获得总和,我们可以使用内置的 sum 函数和 generator expression。在内循环中:

import numpy as np

for m in np.arange(0, 4, 1):
print(sum(2 * m / n for n in np.arange(1, 4, 1)))

这会给你:

0
3
7
11

为了完整起见,与第一个示例等效的 print_function 代码将设置 end="":

from __future__ import print_function

import numpy as np
for m in np.arange(0, 4, 1):
for n in np.arange(1, 4, 1):
coef = 2*m/n
print(coef, end=" ")
print()

关于python - 在 python 中的 for 循环的每次迭代后为数据创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37668636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com