问题描述
我想压缩这种语法以避免双重字典理解(我希望能获得一些计算时间)
aaa
我尝试了这个但没有成功
kkaaa
解决方法
我不理解我们社区最近对将越来越多的功能推向单一理解的痴迷。结果不仅通常不比使用可见循环更有效,而且以单个复杂的理解完成时,代码的可读性肯定会大大降低。我认为人们不理解的是,无论哪种方式,循环仍然以几乎相同的形式存在……只是如果您理解了它,就将其隐藏在Python库代码中。
这是一种简单易懂的方式来执行所需的操作,只需对数据进行一次传递,构建两个字典,就很清楚您正在做什么:
d1 = {}
d2 = {}
for loc,data in dicos.items():
d1[loc] = list(np.sum(data,0))
d2[loc] = np.nancumsum(list(np.sum(data,0)))