首页 > 解决方案 > 使用条件步骤创建 numpy 数组

问题描述

我试图使用 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)

标签: pythonarraysnumpy

解决方案


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

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

推荐阅读