【发布时间】:2017-03-24 07:23:40
【问题描述】:
我有一个函数适用于包含多个项目的数组,但如果数组仅包含一项则失败。让我们考虑这个例子
import numpy as np
def checker(a):
a[a>5] = np.nan
a = np.arange(10)
a = checker(a)
有效,但是
a = 1
a = checker(a) # fails
并给出
Traceback (most recent call last):
a[a>5] = np.nan
TypeError: 'int' object does not support item assignment
我想像 MATLAB 一样处理它,而不喜欢这个版本的 checker(),它的行数比上面的版本多 4 倍。
def checker(a):
try:
a[a>5] = np.nan
except TypeError:
if a>5: a = np.nan
【问题讨论】:
-
你想在这里做什么?
-
我正在计算一些东西,前提是满足某些条件