我有以下 python 字典,我对其进行了排序,以便找到它们的差异
k={0: 2, 1: 1, 3: 2, 4: 1, 5: 1, 6: 1}
Run Code Online (Sandbox Code Playgroud)
现在我想以这样的方式比较字典键,如果字典键差等于1,我想将字典的两个值相加。我尝试了 next 和 Iter 的方法,但遗憾的是我没有得到预期的 Item。
字典键的范围只有0-100
如果可能的话,需要在数组 [3,3,2,2] 中输出,即 0 和 1 的差是 1,因此 0 和 1 的值是 3(1 和 0 值的和),3,4 也是如此
小智 5
如果我正确理解这个问题:
k={0: 2, 4: 1, 1: 1, 6: 1, 3: 2, 5: 1}
keys = sorted(k.keys()) # [0, 1, 3, 4, 5, 6]
result = []
for i in range(1, len(keys)):
if keys[i] - keys[i-1] == 1:
result.append(k[keys[i]] + k[keys[i-1]])
print(result) # [3, 3, 2, 2]
Run Code Online (Sandbox Code Playgroud)
请记住,如果不是所有字典键都是数字,上面的代码将不起作用 - 你必须TypeError排队keys = sorted(k.keys())
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |