首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算字典值的百分比

计算字典值的百分比
EN

Stack Overflow用户
提问于 2022-06-24 11:16:44
回答 2查看 332关注 0票数 1
代码语言:javascript
运行
复制
all_brands_scores  = dict(sorted(all_brands_scores.items(), key=lambda item: item[1]))
print(all_brands_scores )

产出:

{'ADATA':0,'GIGABYTE':0,'Samsung':0,‘现代’:0,'Thomson':0,'KANO':1,'Alienware':1,'Razer':1,'Google':1,'LG':2,'HP征兆‘:5,'Acer':12,'Apple':13,'Microsoft':13,'MSI':17,’Samsung‘:18,'Dell':24,'ASUS':54,联想: 71,惠普: 104}

我有这个文件(Dic),但不是固定的值,如何计算每种类型的笔记本电脑的百分比?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-24 11:22:08

代码语言:javascript
运行
复制
sum_of_values = sum(data.values())
dict(
    map(
        lambda v: 
            [
                v[0],
                str(v[1] / sum_of_values * 100) + "%"
            ],
            data.items()
        )
    )
票数 1
EN

Stack Overflow用户

发布于 2022-06-24 11:25:20

如果要用其百分比替换原始值:

代码语言:javascript
运行
复制
total = sum(all_brands_scores.values())
for key,val in all_brands_scores.items():
    all_brands_scores[key] = round(val/total * 100, 2)

如果您想要一本新的百分比词典:

代码语言:javascript
运行
复制
perc_dict = {}
total = sum(all_brands_scores.values())
    for key,val in all_brands_scores.items():
        perc_dict[key] = round(val/total * 100, 2)

如果要添加%符号,则必须将值转换为字符串格式:

代码语言:javascript
运行
复制
perc_dict = {}
total = sum(all_brands_scores.values())
for key,val in all_brands_scores.items():
    perc_dict[key] = str(round(val/total * 100, 2)) + '%'

(将百分比除以小数点后2位。)

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

https://stackoverflow.com/questions/72743278

复制
相关文章

相似问题

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