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

如何用列表推导式或NumPy函数生成10的幂次序列?

更Pythonic的序列生成方案

你要生成的是首项为0.001、公比为0.1的等比数列,以下几种方法都比原for循环更简洁,符合Python/numpy风格:

方法1:numpy专用等比数列函数(最推荐)

用numpy.geomspace直接生成等比数列,无需手动计算:

import numpy as np
alphas = np.geomspace(0.001, 1e-12, num=10)

geomspace会自动根据起始值、结束值和元素个数,生成等比分布的数组,完全匹配你的需求。

方法2:numpy广播运算

利用numpy的数组广播特性,通过幂运算直接生成:

import numpy as np
alphas = 0.001 * (0.1) ** np.arange(10)

np.arange(10)生成0到9的整数数组,计算0.1的对应幂次后,再与初始值0.001相乘,一步得到目标数组。

方法3:纯Python列表推导式转numpy数组

如果偏好纯Python写法,先通过列表推导式生成序列,再转为numpy数组:

import numpy as np
alphas = np.array([0.001 * (0.1)**i for i in range(10)])

这种写法避免了手动循环赋值,更符合Python的简洁风格。

以上三种方法都能替代原for循环,生成完全一致的序列:[1.e-03 1.e-04 1.e-05 ... 1.e-12]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:25:12