python - 生成一个 2 的幂的 NumPy 数组

标签 python arrays numpy

通常在创建某些数字序列时,python 和 numpy 会提供一些语法糖来以简单的方式执行此操作,而无需使用 for 循环自行生成它们,例如范围(开始、停止、步骤)

我有一个相当简单的问题,我正在努力以一种优雅的方式解决:生成一个 2 的幂列表。例如。 list = [1, 2, 4, 8, ...]

我想到了

n_powers = 4
list = np.zeros(n_powers)
for i in range(0, n_powers): 
    list[i] = 2 ** i

有更好的方法吗?

最佳答案

你似乎在使用 NumPy,那为什么不直接这样做呢 -

>>> 2 ** np.arange(4)
array([1, 2, 4, 8])

这是广播求幂。

关于python - 生成一个 2 的幂的 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49200272/

相关文章:

javascript - 如何获取字符串中每个单词的长度

python - 使用 matplotlib 设置 plt.axis ('off' )时出错

python - 使 Python 在向 sys.stdout 写入换行符时停止发出回车符

python - 同构python算法

python - pandas 多索引排序特定字段

python - 如何让 Pylint 识别 NumPy 成员?

python - numpy:通过 2d 插值调整 3d 数组大小

python - 无法解码加密的rsa消息python3

javascript - 如何创建一个函数来将新数组添加到 JavaScript 中的对象

arrays - swift iOS - 无法从 tracker.Frequency Audiokit 输出创建数组