如何删除字典中prezzo字段不符合纯整数格式要求的对应ID条目
字典过滤实现方案
你可以通过两种主流方式实现需求,核心校验逻辑直接用字符串自带的isdigit()方法即可,该方法会判定字符串是否全部由数字字符组成,刚好匹配你要求的纯整数字符串校验规则。
方案1:生成新过滤字典(推荐)
这种方式不会修改原始字典,适合需要保留原始数据做其他处理的场景,代码更简洁不容易出错:
# 示例原始字典结构 original_data = { 1: {"prezzo": "100000", "其他字段": "xxx"}, 2: {"prezzo": "da 100000 - 100000", "其他字段": "yyy"}, # 不合法会被过滤 3: {"prezzo": "250000", "其他字段": "zzz"} } # 过滤逻辑 filtered_data = { id: item for id, item in original_data.items() if item.get("prezzo", "").isdigit() }
item.get("prezzo", "")的作用是避免部分条目没有prezzo键时触发报错,没有该键的条目也会被判定为不合法过滤掉。
方案2:直接修改原字典
如果不需要保留原始数据,想直接在原字典上删除非法条目,要遍历键的列表副本,避免遍历过程中字典结构变化触发异常:
for id in list(original_data.keys()): prezzo_val = original_data[id].get("prezzo", "") if not prezzo_val.isdigit(): del original_data[id]
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

