Skip to main content
 首页 » 编程设计

python numpy 按条件设置列表元素

2025年05月04日17cmt

我想以低开销将列表中的特定元素设置为特定值。 例如,如果我有这个:a = numpy.array([1,2,3,0,4,0]) 我想将每个 0 值更改为 10;最后我想要 [1, 2, 3, 10, 4, 10]

在 Matlab 中,您可以像 a(a==0) = 10 一样轻松地做到这一点,在 numpy 中是否有任何等价物?

请您参考如下方法:

与 Matlab 非常相似:

>>> a[a == 0] = 10 
>>> a 
array([ 1,  2,  3, 10,  4, 10]) 

有一个非常好的"NumPy for Matlab Users" SciPy 网站上的指南。

我应该注意,这不适用于常规的 Python 列表。 NumPy 数组是一种不同的数据类型,它在访问和数学运算符方面更像 Matlab 矩阵而不是 Python 列表。