【发布时间】:2020-10-01 16:48:24
【问题描述】:
我有一本字典,我想从中过滤出来并将结果附加到另一个字典中。条件是如果字典中两个第一个元素(例如 31 - 30 = 1)之间的差异小于 5,则添加字典的相关第二个元素并将其附加到新字典中,否则保持相同的第一个元素与关联的第二个元素。
a = {"20" : "1.5", "30" : "2.0", "31" : "1.0", "40" : "1", "50" : "1.5"}
listb = []
listc = []
newdict = {}
for key in a:
b = key
c = a[key]
listb.append(b)
listc.append(c)
for i in range(len(listb)):
low = listb[i]
high = listb[i+1]
diff = int(high) - int(low)
# print(low)
if (diff > 5):
num = listc[i]
# print(num)
num_a = listb[i]
# print(num_a)
newdict[[num_a][i]] = num
print((newdict))
else:
num = listc[i] + listc[i+1]
print(num)
num_a = listb[i+1]
print(num_a)
newdict[[num_a][i]] = num
print(newdict)
这个输出应该看起来像
a = {“20”:“1.5”,“31”:“3.0”,“40”:“1”,“50”:“1.5”}
【问题讨论】:
标签: python pandas dictionary append