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

Python字典打印问题:如何输出排序后字典的首尾各4个条目

解决Python字典排序后仅打印指定条目(前4+后4)的问题

你的问题出在遍历了排序后字典的所有条目,而且用列表推导式执行print操作属于不规范用法(列表推导式应专注生成列表,而非执行副作用)。以下是修正方案:

核心思路

  1. sorted(countryDict.items())直接返回有序的元组列表(每个元组是(key, value)),无需转成字典,避免冗余操作。
  2. 通过切片语法快速获取前4条[:4]和最后4条[-4:],分别遍历打印即可。

修正后的代码

# 获取按字母排序的条目列表(无需转字典)
sorted_country_items = sorted(countryDict.items())

# 打印前4个条目
for key, value in sorted_country_items[:4]:
    print(f'{"%24s" % key} - {value[0]:13}{"%9s" % value[1]}')

# 打印分隔空行
print()

# 打印最后4个条目
for key, value in sorted_country_items[-4:]:
    print(f'{"%24s" % key} - {value[0]:13}{"%9s" % value[1]}')

效果说明

运行后会输出你需要的格式:

Afghanistan - South Asia      652230
                Akrotiri - Europe             123
                 Albania - Europe           28748
                 Algeria - Africa         2381740

               West Bank - Middle East       5860
                   Yemen - Middle East     527968
                  Zambia - Africa          752618
                Zimbabwe - Africa          390757

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:45:33