如何删除字典列表中指定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
相关产品推荐
相关产品推荐

