如何从项目列表中删除值

Jac*_*cky 2 python

我是python的新手.我有一个项目列表如下所示:

rank_item = [ 
    (9, 0.99999999745996648), 
    (8, 0.99999996796861101), 
    (1, 0.99999996796861101), 
    (10, 0.0) ]
Run Code Online (Sandbox Code Playgroud)

问题是如何删除带有值的项目列表0.0并返回

[(9, 0.99999999745996648), (8, 0.99999996796861101), (1, 0.99999996796861101)]
Run Code Online (Sandbox Code Playgroud)

mik*_*iku 5

使用list.remove- 这将就地修改您的rank_item列表:

 rank_item.remove( (10, 0.0) )
Run Code Online (Sandbox Code Playgroud)

rank_item 将包含:

[(9, 0.99999999745996648), (8, 0.99999996796861101), (1, 0.99999996796861101)]
Run Code Online (Sandbox Code Playgroud)

或者,如果要从列表中删除0.0位置为1的所有元组,则可以尝试列表推导,例如:

[ x for x in rank_item if x[1] != 0.0 ]
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 5

[x for x in rank_item if x[1] != 0.0]
Run Code Online (Sandbox Code Playgroud)