私信  •  关注

Rick Teachey

Rick Teachey 最近创建的主题
Rick Teachey 最近回复了
5 年前
回复了 Rick Teachey 创建的主题 » python:按键(元组)将字典拆分为更小的字典

这种方法对我来说似乎很简单,但肯定不是最快的:

d1 = {(k1,k2):v for (k1,k2),v in d.items() if 0<k2<=5}
d2 = {(k1,k2):v for (k1,k2),v in d.items() if 5<k2<=10}
d3 = {(k1,k2):v for (k1,k2),v in d.items() if 10<k2<=15}
d4 = {(k1,k2):v for (k1,k2),v in d.items() if 15<k2}

或者像这样组合:

bounds = 0, 5, 10, 15, 1_000_000
bounds_dicts = {(b1,b2):{(k1,k2):v for (k1,k2),v in d.items() if b1<k2<=b2}
                for (b1,b2) in zip(bounds[:-1],bounds[1:])}

同样,这将是低效的。每一本新字典都要重复一次。但对于小问题,这应该是好的。