首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >条件下Python比较字典键

条件下Python比较字典键
EN

Stack Overflow用户
提问于 2022-07-10 11:43:44
回答 1查看 78关注 0票数 1

我有下面的python字典,为了找出它们的区别,我对它们进行了排序。

代码语言:javascript
运行
复制
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的值相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-10 12:30:34

如果我正确理解这个问题:

代码语言:javascript
运行
复制
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())

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72928231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档