You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用NumPy与lambda将条件步长生成数组的代码改写为单行函数

实现方案

你要的单行lambda+numpy实现如下,直接返回numpy数组,完全匹配原函数逻辑:

import numpy as np
generate_array = lambda n: (np.random.choice([1, -1], size=n)).cumsum() + 1

原理解释

  • 你不需要手动保存每轮迭代的步长,numpy的cumsum()方法会自动完成累计求和,正好对应你原代码里每轮迭代更新step的逻辑
  • np.random.choice([1, -1], size=n) 直接生成n个随机的±1值,对应原代码里每次的步长增量
  • 最后整体加1对应你设置的初始步长step=1

调用示例

print(generate_array(10))

输出示例(结果随机):

array([2, 3, 2, 3, 4, 3, 2, 3, 4, 5])

内容的提问来源于stack exchange,提问作者Nichiyoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:45:04