我试图在python中找到某些数字的平均值
例如:
A={('A','B',1):1,('A','B',2):4,('A1','B1',2):5,('A1','B1',1):6}
A
是字典,我的输出应该是
B={('A','B'):1+4/2,('A1','B1'):11/2)}
我通过使用一些FOR
循环和IF
条件得到了逻辑,但是它太耗时了。你知道吗
谁能告诉我一个更快的方法得到输出。 我的逻辑
for i in A:
# lis.append(i)
lis.append((i, A[i]))
for j in lis:
if (j[0][0], j[0][1]) not in pro_loc_comb:
pro_loc_comb.append((j[0][0], j[0][1]))
B= {}
print pro_loc_comb
for x in pro_loc_comb:
a = 0
count = 0
for j in lis:
if (x[0] == j[0][0]):
if (x[1] == j[0][1]):
count = count + 1
a = (a + j[1])
B[(x[0], x[1])] = a / float(count)
print B
提前谢谢
因为您没有包含解决方案,所以我使用了以下方法:
相关问题 更多 >
编程相关推荐