【问题标题】:Create numpy array with conditional step使用条件步骤创建 numpy 数组
【发布时间】:2021-10-26 06:24:31
【问题描述】:

我正在尝试使用 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)

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    您可以先使用np.random.choice创建差异数组,然后使用np.cumsum()将每个项目累加起来:

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

    【讨论】:

    • 这里不需要列表理解
    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2020-02-02
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多