与Fortran相对的Python3

时间:2018-11-27 21:13:59

标签: python python-3.x matplotlib

以下内容实现了我想要的:

pylab.scatter(x[z>-99.0], y[z>-99.0], c=z[z>-99.0])

但是,为了“不要重复自己”,我想要类似于下面显示的内容。在python中有可能吗?

where z>-99.0:
  pylab.scatter(x, y, c=z)

1 个答案:

答案 0 :(得分:1)

如果我没记错的话,这应该做你想要的:

i = z > -99.0
pylab.scatter(x[i], y[i], c=z[i])

您也可以尝试以下方法:

def where(index, *args):
    return tuple(item[index] for item in args)

x, y, z = where(z > -99.0, x, y, z)
pylab.scatter(x, y, c=z)