如何实现遍历所有键后再返回True?Python代码优化问询
实现遍历所有指定键后再返回结果的方法
你需要先遍历完所有unique_keys里的字段,记录是否存在变化,最后再返回结果,而非一发现差异就立刻终止循环返回。
修改思路
- 初始化一个变量标记是否有字段发生变化
- 遍历所有指定键时,仅更新标记状态,不提前返回
- 等所有键遍历完成后,返回标记值
修改后的代码
unique_keys = ('one','two') def check_if_items_change(old_item, new_item): # 原参数中的`unique_key`未被使用,推测是笔误,这里已移除 update_item = {**old_item,**new_item} has_change = False for field in unique_keys: if update_item[field] != old_item[field]: has_change = True # 不提前返回,继续遍历剩余的键 return has_change
额外优化说明
如果需要灵活传入不同的键集合,可以把unique_keys改成函数参数,代码如下:
def check_if_items_change(old_item, new_item, unique_keys): update_item = {**old_item,**new_item} has_change = False for field in unique_keys: if update_item[field] != old_item[field]: has_change = True return has_change
这样无论是否存在字段变化,都会先完成所有指定键的遍历,最后再根据实际变化情况返回True或False。
内容的提问来源于stack exchange,提问作者Cameron Bogucki
相关产品推荐
相关产品推荐

