如何用一行Python代码批量更新字典列表的键名?
Pythonic 写法优化字典键名更新
当然有更符合Python风格的写法,能把键的循环与更新逻辑浓缩得更简洁:
def update_keys(vars: list) -> None: target_keys = {"A", "V", "C"} for d in vars: d.update({k.lower(): d.pop(k) for k in target_keys & d.keys()})
核心亮点:
- 用集合存储目标键,利用集合与字典键的交集操作
target_keys & d.keys(),直接筛选出当前字典中存在的需要修改的键,省去了原代码里的if判断 - 借助字典推导式一次性生成所有需要更新的键值对,再通过
dict.update()批量完成键名替换,把内层循环和更新操作合并成了单行逻辑 - 这种写法既保持了代码的可读性,又充分利用Python的内置特性,比原写法更简洁高效
内容的提问来源于stack exchange,提问作者P. Solar
相关产品推荐
相关产品推荐

