我有一个整数数组,想要找到该数组在多个值列表中的任何值的位置.
这可以通过单独处理每个值,或者在循环中使用多个"或"语句来轻松完成,但我觉得必须有更好/更快的方法来完成它.我实际上正在处理大小的数组4000 x 2000,但这里是问题的简化版本:
fake = arange(9).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
want = (fake==0) + (fake==2) + (fake==6) + (fake==8)
print want
array([[ True, False, True],
[False, False, False],
[ True, False, True]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
我想要的是一种want从涉及的单个命令fake和值列表中获取的方法[0, 2, 6, 8].
我假设有一个已经包含这个包的包将比我在Python中用循环编写一个函数要快得多.
我正在尝试编写一个返回值的python脚本,然后我可以将其传递给bash脚本.事情是我想要在bash中返回一个单值,但我希望沿途有一些东西打印到终端.
这是一个示例脚本.我们称之为return5.py:
#! /usr/bin/env python
print "hi"
sys.stdout.write(str(5))
Run Code Online (Sandbox Code Playgroud)
我想要的是当我从命令行运行它时以这种方式执行:
~:five=`./return5.py`
hi
~:echo $five
5
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
~:five=`./return5.py`
~:echo $five
hi 5
Run Code Online (Sandbox Code Playgroud)
换句话说,我不知道如何打印python脚本并清除标准输出,然后将其分配给我想要的特定值.