Python附加到数组vs替换零数组

时间:2015-02-01 21:33:53

标签: python arrays numpy

在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循环本身的计算吗?

1 个答案:

答案 0 :(得分:2)

我会说没有(或两者)。

更多“pythonic”解决方案(以及更多,比方说,“programathic”)是编写执行计算和使用的函数list comprehensions

def calculator( x ):
    """calculation"""
    return result

y_list = [calculator(x) for x in x_list]