在Python中,当计算for循环中的某些内容时,可以将每次迭代的解决方案附加到列表中,例如。
import numpy as np
steps = 100
x_list = np.linspace(0,2.0,steps)
y_list = []
for x in x_list:
# perform calculations, iterating over values in x_list
# final solution is z:
#z = ...
y_list.append(z)
或创建一个零数组,并用每次迭代的解决方案替换每个零,例如
import numpy as np
steps = 100
x_list = np.linspace(0,2.0,steps)
y_list = np.zeros(steps)
for x in x_list:
# perform calculations, iterating over values in x_list
# final solution is z:
#z = ...
y_list[x] = z
一般来说,哪种方法更有效,或者" Pythonic&#34 ;?或者它真的取决于for循环本身的计算吗?
答案 0 :(得分:2)
我会说没有(或两者)。
更多“pythonic”解决方案(以及更多,比方说,“programathic”)是编写执行计算和使用的函数list comprehensions
def calculator( x ):
"""calculation"""
return result
y_list = [calculator(x) for x in x_list]