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

Python字典值迭代代码问题:仅输出首个值,求修正方法

问题分析与修正

你的代码存在几个核心问题:

  • 提前终止函数:return result写在第一个循环内部,导致遍历到第一个字典值就直接返回,后续列表完全没机会被处理。
  • 冗余嵌套循环:for i in range(1,4)完全没必要,字典的每个值本身就是完整的目标列表,不需要循环三次重复拼接。
  • 格式缺失换行:直接拼接字符串会让所有列表连在一起,不符合预期的逐行输出要求。

修正后的代码

def countries(countries_dict):
    result = ""
    # 遍历字典的所有值(每个值都是一个国家列表)
    for country_list in countries_dict.values():
        # 将列表转为字符串后添加换行符,拼接到结果中
        result += str(country_list) + "\n"
    # 移除最后多余的换行符后返回结果
    return result.strip()

print(countries({"Africa": ["Kenya", "Egypt", "Nigeria"], "Asia":["China", "India", "Thailand"], "South America": ["Ecuador", "Bolivia", "Brazil"]}))

运行结果

['Kenya', 'Egypt', 'Nigeria']
['China', 'India', 'Thailand']
['Ecuador', 'Bolivia', 'Brazil']

更简洁的替代写法(直接输出)

如果不需要返回字符串,而是直接打印结果,也可以用这种方式:

def countries(countries_dict):
    for country_list in countries_dict.values():
        print(country_list)

countries({"Africa": ["Kenya", "Egypt", "Nigeria"], "Asia":["China", "India", "Thailand"], "South America": ["Ecuador", "Bolivia", "Brazil"]})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:58:14