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

Python作业求助:统计countries-data.py中语言总数的正确代码

统计国家数据中的语言总数解决方案

你之前代码的问题分析

  • 第一段代码:判断键为languages后,调用key.count('languages')是在统计字符串languages的子串出现次数,完全没有触及到实际的语言列表数据,自然无法得到语言总数。
  • 第二段代码:key == language逻辑错误,key是字典的键(如name、languages),language是整个国家字典对象,两者不可能相等,代码不会执行任何有效操作。

正确实现脚本

假设data/countries-data.py文件中定义了名为countries的列表,每个元素是包含languages键的字典(值为语言名称列表),以下是正确的统计代码:

from data.countries_data import countries

# 用集合存储语言,自动去重
unique_languages = set()

for country in countries:
    # 获取当前国家的语言列表,无该键时返回空列表避免报错
    lang_list = country.get('languages', [])
    # 将所有语言添加到集合中
    unique_languages.update(lang_list)

# 输出去重后的语言总数
print(f"统计得到的语言总数:{len(unique_languages)}")

代码说明

  • 使用集合set的原因:不同国家可能共享同一种语言,集合会自动剔除重复项,确保统计的是不同语言的总数。
  • country.get('languages', []):兼容部分国家数据缺失languages键的情况,避免抛出KeyError。
  • unique_languages.update(lang_list):直接将列表中的所有元素添加到集合,比逐个add更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:25:07