如何将无序Python字典按指定分割键拆分为两个不含该键的字典
Python字典按指定分割键拆分方法
实现逻辑
- 初始化两个空字典
d1、d2,分别存储键小于分割键、键大于分割键的键值对 - 遍历原字典所有键值对,根据键与分割键的大小关系分别存入对应字典,等于分割键的键值对直接丢弃
基础实现代码(仅遍历一次字典,适合大字典场景)
# 待拆分原字典 dd = {517.1: 'h', 182.8:'o', 306.5:'l', 378.2:'a'} # 指定分割键 split_key = 378.2 d1 = {} d2 = {} for k, v in dd.items(): if k < split_key: d1[k] = v elif k > split_key: d2[k] = v print(d1) print(d2)
运行输出结果:
{182.8: 'o', 306.5: 'l'} {517.1: 'h'}
简洁写法(字典推导式,适合小字典场景,代码可读性更高)
d1 = {k:v for k, v in dd.items() if k < split_key} d2 = {k:v for k, v in dd.items() if k > split_key}
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

