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

如何用Pythonic方式生成几何级数分布的单元格边界数组?

更简洁的Pythonic实现方式

原代码通过循环累加生成几何级数分布的单元格边界数组,我们可以利用Python内置工具或numpy的向量化操作简化代码,同时保持逻辑完全一致:

1. 贴合原numpy环境的向量化写法

用numpy的cumsum(累加)和arange生成序列,替代手动循环:

import numpy as np

n_cells = 10
c = 0.9
thick = 2

x0 = thick * (c - 1) / (c**n_cells - 1)
# 生成指数项序列并累加,开头补0得到完整边界数组
x = np.concatenate([[0], np.cumsum(x0 * c ** np.arange(n_cells))])

2. 纯Python无依赖写法

借助itertools.accumulate直接处理累加逻辑,代码更紧凑:

from itertools import accumulate

n_cells = 10
c = 0.9
thick = 2

x0 = thick * (c - 1) / (c**n_cells - 1)
# 生成每一项的序列并累加,拼接初始的0得到结果
x = [0.0] + list(accumulate(x0 * (c ** i) for i in range(n_cells)))

两种写法的核心逻辑和原代码一致:先计算首项x0,再对x0*c^i的序列做累加,最终得到从0到thick的单元格边界数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:40:26