繁体   English   中英

使用条件步骤创建 numpy 数组

[英]Create numpy array with conditional step

我试图使用 lambda 和 numpy 将此代码转换为单行函数,该函数应返回 numpy 数组,但我不知道如何保存每次迭代的步长值

import random

def generate_array(n: int):
    step = 1
    arr = []
    
    for i in range(n):
        step = step + 1 if random.choice([True, False]) else step - 1 
        arr .append(step)

    return arr

generate_array(10)

您可以首先使用np.random.choice创建差异数组,然后使用np.cumsum()每个项目进行累积np.cumsum()

np.cumsum(np.random.choice([1, -1], size=10))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM