我有下面的python字典,为了找出它们的区别,我对它们进行了排序。
k={0: 2, 1: 1, 3: 2, 4: 1, 5: 1, 6: 1}
现在我想比较字典键,如果字典键差等于1,我想添加两个字典值。我尝试了next和Iter的方法,但我并没有伤心地得到预期的项目。
字典键范围仅为0-100。
如果可能的话,在数组3,3,2,2中需要输出,即0和1的差是1,所以0和1的值是3(和1和0),而3,4的值相同。
发布于 2022-07-10 04:30:34
如果我正确理解这个问题:
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]
请记住,如果不是所有的字典键都是数字,那么上面的代码就不能工作了--您必须在TypeError
行中捕获keys = sorted(k.keys())
。
https://stackoverflow.com/questions/72928231
复制相似问题