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

Python字典列表练习问题:Sarah的语言值无法正确输出求解决

问题解决:字典嵌套列表遍历的变量错误

你的代码中,else分支使用的l变量仅在if分支的内层循环中定义。当处理Sarah(对应语言列表长度为1)时,l实际是上一次循环的残留值(比如处理Phil时的最后一个元素haskell),因此无法正确显示Sarah的语言。

修正后的代码如下:

favoriteLanguages = {
        'jen': ['python', 'ruby'],
        'sarah': ['c'],
        'edward': ['ruby', 'go'],
        'phil': ['python', 'haskell']
        }

for name, language in favoriteLanguages.items():
    if len(language) > 1:
        print(f"{name.title()}'s favorite languages are:")
        for l in language:
            print(f'\t{l.title()}')
    else:
        # 直接取列表唯一元素,无需依赖外层循环的残留变量
        print(f"{name.title()}'s favorite language is {language[0].title()}.")

核心修正点:将else分支里的l替换为language[0],因为当语言列表长度为1时,直接访问索引0就能获取到唯一的语言元素,彻底避免变量残留问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:16:03