如何从列表中删除元素但如何保留值False

时间:2019-05-04 18:23:13

标签: python

我有以下列表:[0, 1, None, 2, False, 1, 0],我只想从中删除值0。但是,我尝试过的所有操作也会从列表中删除False

请注意,值0可以在列表中的任何位置。

例如:

while 0 in array:
        array.remove(0)

OR

a = [x for x in array if int(x) != 0]

结果[1, None, 2, 1]

我正在寻找[1, None, 2, False, 1]的结果。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

//user roles Route::get('/home1', 'HomeController@admin')->middleware('debtors'); Route::get('/application_dashboard', 'HomeController@application_dashboard')->middleware('debtors');' 始终等于False,因此您不能仅在此处检查是否相等。相反,您可以这样做:

0

答案 1 :(得分:2)

[ x for x in array if x is False or x != 0]

您的初始尝试失败,因为int(False)的值为0。