【问题标题】:How can I add data created in a loop into an array?如何将循环中创建的数据添加到数组中?
【发布时间】:2021-10-20 19:41:13
【问题描述】:

所以,我正在使用这段代码来创建一个逻辑图,并创建一个直方图,我想将此函数的所有数据添加到一个数组中(我会称它为 owo bc 为什么不),但是当我添加了owo.append(f),如果我打印数组它是空的。在函数内部有一个print(f),它显示了我要添加的数字。

mu = [2.8, 3.3, 3.5, 3.8, 3.99]
N= 1000
x=0.1
owo=[]

def MeGustaElCereal(x, mu, N):
    f=x #Maybe start point?
    for n in range(N):
        f= mu*x*(1.0-x)
        x=f
        print(f)
        owo.append(f)
    return f

print(owo)

我也知道需要添加更多的代码来分隔每个 mu 的结果,也许用另一个 for?

【问题讨论】:

  • 您需要致电MeGustaElCereal
  • 将列表设为全局应该会有所帮助。

标签: python arrays function for-loop


【解决方案1】:

使用特殊方法 iadd 而不是 append

owo.__iadd__([f])

iadd(y) 。换句话说,在实现完成之后,Python 将 iadd 实现的返回值分配给您“添加到”的对象。这意味着可以改变 x += y 操作的左侧,以使最终的隐式步骤失败。

【讨论】:

    【解决方案2】:

    为了让函数中的代码运行,您需要调用它,例如MeGustaElCereal(x,mu,N)

    但是,即使您将其添加到当前代码中,您也需要在最顶部写上global owo,因为默认情况下函数无法编辑函数外部的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2013-07-25
      • 2019-04-03
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      • 2020-08-24
      相关资源
      最近更新 更多