从两个列表中删除NoneType

时间:2016-03-09 11:37:44

标签: python list numpy nonetype

我正在使用两个等长的None。其中一个包含ToFRemove = (None == ListA) # Find None type ListA = ListA[not ToFRemove] ListB = ListB[not ToFRemove] 个元素。我想从该数组中删除它们,也从其他数组中的相应元素中删除它们。

我天以为我会这样做:

False

这适用于查找其他常规元素。但是,我将ToFRemove作为None的值,因此这不起作用。

我假设我应该编写一些迭代器来查找this answer中的set serveroutput on; DECLARE TYPE v_arr IS VARRAY(100) OF NUMBER; var v_arr; return_value number; BEGIN var:=v_arr(); FOR c1 IN (SELECT ID FROM table_name WHERE ROWNUM<100) loop var.EXTEND; var(var.last):=c1.id; end loop; FOR i IN var.FIRST..var.LAST loop return_value:=var(i); dbms_output.put_line(return_value); end loop; end; 元素,但我不知道如何。

2 个答案:

答案 0 :(得分:2)

我会这样做

np_array[np_array != np.array(None)]

语句np_array!= np.array(None)输出一个布尔数组。这个布尔数组将具有'False',其中元素为'None'类型,而其他元素为True。对应于'True'的索引保留在结果数组中,并且删除对应于'False'的索引。

将此问题应用于您的问题

ToKeep = (ListA != np.array(None))
ListA = ListA[ToKeep]
ListB = ListA[ToKeep]

答案 1 :(得分:0)

ToFRemove = np.array([x is None for x in ListA])