如何应用按位运算符来比较对象列表

时间:2016-08-25 19:21:04

标签: python bitwise-operators

假设我有一个很长的对象列表(例如,bool元素的numpy矩阵列表)foo = [a, b, c],我想与某个按位运算符进行比较,得到类似a | b | c的东西。< / p>

如果我可以将此按位操作用作函数,例如bitwiseor函数,我可以使用bitwiseor(*foo)执行此操作。 但是,我无法找到按位还是可以用这种函数形式编写。

是否有一些方便的方法来处理这类问题?或者我应该使用循环来累积比较所有元素?

2 个答案:

答案 0 :(得分:8)

operator中的功能方法与reduce结合使用:

Route::group(['middleware' => ['role:superadmin']], function() {
    Route::get('/someroute', function(){
        return View::make('superadmin');
    });
});

Route::group(['middleware' => ['role:admin']], function() {
    Route::get('/someroute', function(){
        return View::make('admin');
    });
});

Route::get('/someroute', function(){
    Auth::logout();
        return Redirect::to('/login')
            ->with('flash_notice', 'You don\'t have access!');
});

答案 1 :(得分:1)

numpy有许多支持沿轴减少的功能。请参阅numpy.bitwise_ornumpy.bitwise_or.reduce

np.bitwise_or.reduce(your_array)