Python根据第一项从2d数组中删除元素

时间:2017-10-19 04:01:22

标签: python arrays list

如果我在python中有一个2d数组,请说

    public function index()
    {
    if(\request()->has('filter')){
        $filter=\request('filter');
        if($filter==0){
            $questions=Question::paginate(5);
        }
        if($filter==1){
            $questions=Question::where('revised',0)
                ->paginate(5)
                ->appends('filter',$filter);
        }

    }else{
        $questions=Question::paginate(5);
    }
    return view('layouts.questions.index')->with(compact('questions'));
}

我想要一种方法从第一项是' b'中删除任何项目,以便您返回:

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]]

非常感谢任何帮助,如果仅使用内置库,则首选。感谢

2 个答案:

答案 0 :(得分:3)

使用list comprehension

lst = [['a','1', '2'], ['b', 1, 2], ['c', 1, 2], ['b', 3, 4]]
lst = [x for x in lst if x[0] != 'b']
print(lst)

打印

[['a', '1', '2'], ['c', 1, 2]]

答案 1 :(得分:0)

不使用内置库,但如果数组很大则可能会更快,

import numpy as np

lst = np.array(lst)
a = lst[np.where(lst[:,0] != 'b')]
a.to_list()

[['a', '1', '2'], ['c', '1', '2']]