首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按范围分组嵌套字典中的值

按范围分组嵌套字典中的值
EN

Stack Overflow用户
提问于 2021-08-03 09:32:11
回答 1查看 44关注 0票数 0

我有一个嵌套的字典。这本词典保存文本in和这些文本中单词的重复度。我希望以一定的间隔对这些重复数进行分组,并将组中元素的数量保存在字典或数据帧中。下面我给出了一个例子。我尝试了很多方法,但都不能完全做到我想要的。提前感谢您的帮助。

初始字典:

代码语言:javascript
运行
复制
{938742158: {'car': 3, 'yes': 5, 'none': 6, 'bi': 5, 'new': 4, 'service': 2, 'color': 8, 'have': 6, 'back': 5}, 
 938735955: {'car': 5, 'my': 11, 'note': 5, 'dir': 3, 'led': 6, 'r': 3, 'line': 10}}

目标输出:

代码语言:javascript
运行
复制
{938742158: {'1-3': 2, '3-5': 4, '5-7': 2, '7-10': 1, '10+': 0}, 
 938735955: {'1-3': 2, '3-5': 2, '5-7': 1, '7-10': 1, '10+': 1}}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-03 09:43:05

试试下面的

代码语言:javascript
运行
复制
data = {938742158: {'car': 3, 'yes': 5, 'none': 6, 'bi': 5, 'new': 4, 'service': 2, 'color': 8, 'have': 6, 'back': 5},
        938735955: {'car': 5, 'my': 11, 'note': 5, 'dir': 3, 'led': 6, 'r': 3, 'line': 10}}
post_data = {k: {'1-3': 0, '3-5': 0, '5-7': 0, '7-10': 0, '10+': 0} for k, v in data.items()}
for k, v in data.items():
    for value in v.values():
        if 1 < value <= 3:
            post_data[k]['1-3'] += 1
        elif 3 < value <= 5:
            post_data[k]['3-5'] += 1
        #TODO add more conditions
print(post_data)

输出

代码语言:javascript
运行
复制
{938742158: {'1-3': 2, '3-5': 4, '5-7': 0, '7-10': 0, '10+': 0}, 938735955: {'1-3': 2, '3-5': 2, '5-7': 0, '7-10': 0, '10+': 0}}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68633588

复制
相关文章

相似问题

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