You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除字典列表中指定posid的条目?最简洁方案是什么?

问题描述

现有如下字典列表:

[
    {'posid': 1, 'dollarwert': 1.1825674631151857},
    {'posid': 2, 'dollarwert': 1.1831745916128784},
    {'posid': 3, 'dollarwert': 1.1900826486130591},
    {'posid': 4, 'dollarwert': 1.1895868303883927},
    {'posid': 5, 'dollarwert': 1.1946998116397385},
    {'posid': 6, 'dollarwert': 1.198615109611155}
]

需要删除其中posid为4的字典条目,得到如下结果:

[
    {'posid': 1, 'dollarwert': 1.1825674631151857},
    {'posid': 2, 'dollarwert': 1.1831745916128784},
    {'posid': 3, 'dollarwert': 1.1900826486130591},
    {'posid': 5, 'dollarwert': 1.1946998116397385},
    {'posid': 6, 'dollarwert': 1.198615109611155}
]

求最简洁的解决方法。

最简洁的解决方法

用Python列表推导式一行即可完成过滤:

original_list = [
    {'posid': 1, 'dollarwert': 1.1825674631151857},
    {'posid': 2, 'dollarwert': 1.1831745916128784},
    {'posid': 3, 'dollarwert': 1.1900826486130591},
    {'posid': 4, 'dollarwert': 1.1895868303883927},
    {'posid': 5, 'dollarwert': 1.1946998116397385},
    {'posid': 6, 'dollarwert': 1.198615109611155}
]

filtered_list = [item for item in original_list if item['posid'] != 4]

解释

  • 列表推导式是Python中处理列表过滤的简洁高效方案,代码可读性高
  • 遍历原列表的每个字典条目,仅保留posid不等于4的元素
  • 直接生成目标列表,无需额外的循环或删除操作

内容的提问来源于stack exchange,提问作者newtopy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:54:26