You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的Python字典按人口排序功能无法正常运行?

问题原因

你当前的排序逻辑本身没有问题,排序结果异常的核心原因是:从CSV文件读取到的population字段默认为字符串类型,sorted函数按字符串字典序排序,而非人口数值大小排序,才会出现看似随机的排序结果。

修复方案

二选一即可:

  • 方案1:构建字典时直接将人口转换为整数类型
# Create dictionary of data
data = {}
for i in range(len(countries)):
    # 将字符串格式的人口转为整数后存入字典
    data[countries[i]] = int(population[i])

# 原有排序逻辑保持不变即可
sorted_data = sorted(data.items(), key=lambda x: x[1], reverse=True)
  • 方案2:不修改字典存储逻辑,直接在排序时转换类型
# 排序时动态将人口转为整数作为排序依据
sorted_data = sorted(data.items(), key=lambda x: int(x[1]), reverse=True)

修改完成后即可得到按人口数值从大到小的排序结果,首位为中国、末位为圣座,符合作业要求。

内容的提问来源于stack exchange,提问作者Tukk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:18:02