如何从字典列表中删除字典?

0 python dictionary python-3.x

假设我有这个:

d_list = [ {'id':1, 'Name': 'Hannah', weight:150}, {'id':2, 'Name':'Andrew', weight:200}, {'id':3, 'Name':'Joe', weight:180}, {'id':3, 'Name':'Joe', weight:180}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能删除 id 为 3 的字典?(所以我的字典列表将包含 id 1、2 和 4)或体重超过 180 的人(所以我不会再有 id 2)

我已经尝试了从简单的事情开始的一切,比如

for d in d_list:
    if d['weight'] > 180:
        d_list.pop(d)
Run Code Online (Sandbox Code Playgroud)

我在谷歌上找到的其他东西,但无济于事。对不起,如果之前已经发布过或者它看起来非常简单,但我一直在寻找可以帮助我的东西,但什么也没做。

hir*_*ist 5

因为从您正在迭代的列表中删除不是一个好主意,所以我建议使用以下列表理解:

d_list = [item for item in d_list if item['weight'] <= 180]
Run Code Online (Sandbox Code Playgroud)