Python可以';t从嵌套列表中删除值
我已经用python获得了此列表Python可以';t从嵌套列表中删除值,python,list,Python,List,我已经用python获得了此列表 [[20.0,'Harsh']、[20.0,'Beria']、[19.0,'Varun']、[19.0,'kakumi']、[21.0,'Vikas']. 我想从这个列表中删除所有最小值,这是我的代码 g=min(listz)[0]; for value in listz: if value[0]==g: listz.remove(value); print(value," ",g) 但不幸的是,此代码仅删除Va
[[20.0,'Harsh']、[20.0,'Beria']、[19.0,'Varun']、[19.0,'kakumi']、[21.0,'Vikas'].
我想从这个列表中删除所有最小值,这是我的代码
g=min(listz)[0];
for value in listz:
if value[0]==g:
listz.remove(value);
print(value," ",g)
但不幸的是,此代码仅删除
Varun
,即使kakumi
也具有相同的值。问题出在哪里?您可以使用过滤器来执行此操作
g = min(listz)[0];
updated_list = filter(lambda x: x[0] > g, listz)
您可以使用filter
来执行此操作
g = min(listz)[0];
updated_list = filter(lambda x: x[0] > g, listz)
给出的答案没有解释代码的基本问题,即:
您不应该尝试改变正在循环的列表。给出的答案没有解释代码的基本问题,即:
你不应该尝试改变你正在循环的列表。当Varun
被删除时,kakumi
将取代它,因此kakumi
永远不会被检查,因为迭代将移动到Varun
(现在kakumi
)之后的下一个项目,即Vikas
@MosesKoledoye哦,好的,那么我该如何解决这个问题呢?当Varun
被删除时,kakumi
将取代它,所以kakumi
永远不会被检查,因为迭代将继续进行Varun
(现在kakumi
)之后的下一项,即Vikas
@MosesKoledoye哦,好的,那么我该如何解决这个问题呢?