gpt4 book ai didi

python - 计数器中变量的等级

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:22 25 4
gpt4 key购买 nike

我将数据存储在一个计数器中,例如

industries = Counter({'Automotive': 17, 'Commercial Banks': 10, 'Insurance': 4, 'Hospitals': 2, 'Other': 2})

我有兴趣查找特定变量的“索引”(即“等级”)。例如,如果我对 Automotive 感兴趣以返回它具有最高键,则 commercial banks 具有第二高。

目前我正在转换为列表,然后查找该项目的索引。例如

industries_list = [key[0] for key in industries.most_common()]
rank_of_automotive = industries_list.index("Automotive")

有没有一种方法可以直接从计数器中执行此操作而不需要转换为列表?

[显然,我知道我当前的代码没有正确处理相同值的变量——即虽然 HospitalsOther 的值都是 2,但我的可以为他们返回不同的排名。这对我来说不是什么大问题,但如果两者都返回相同的值,那也是 find]

最佳答案

most_common 将为您提供最常见值的排序列表。

>>> industries.most_common()
[('Automotive', 17),
('Commercial Banks', 10),
('Insurance', 4),
('Hospitals', 2),
('Other', 2)]

您可以使用它来创建一个将每个行业映射到其排名的字典:

ranking = {pair[0]: rank 
for rank, pair in enumerate(industries.most_common())}

>>> ranking
{'Automotive': 0,
'Commercial Banks': 1,
'Hospitals': 3,
'Insurance': 2,
'Other': 4}

请注意,如果值是绑定(bind)的(例如医院和其他),顺序可以是任意的。

关于python - 计数器中变量的等级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com