从词典列表中删除词典

时间:2020-04-02 05:38:48

标签: python

我正在尝试从词典列表中删除词典,但是无法实现。到目前为止,这是我尝试过的:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  
  <ul>
    <li><a href="#" /><span class="text">Item</span></li>
    <li><a href="#" /><span class="text">Item</span></li>
    <li><a href="#" /><span class="text">Item</span></li>
    <li><a href="#" /><span class="text">Item</span></li>
    <li><a href="#" /><span class="text">Item</span></li>

</ul>
</body>
</html>

此处data ['data']是词典列表。 x是一组数字,我从comment_data获取。如果row ['id']不在x中,我想删除字典。我该如何处理?我要去哪里错了? 我尝试了此link上给出的答案,但似乎没有一个适合我。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:5)

在遍历列表时,请勿尝试修改列表的结构。同样,del row仅删除循环变量row的绑定,该绑定不影响列表。改为:

data['data'] = [row for row in data['data'] if row['ID'] in x]

请注意,尽管(由于)创建了一个新的列表对象,但它还是比您最初的尝试更好的算法性能,因为它是线性的,而从列表中间重复删除是二次的,因为每个尾元素都必须移动时间。