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

Python中如何统计字典内嵌套列表的元素数量

错误原因

你现有代码的问题出在两点:

  • 判断逻辑写反了:你用len(name)统计的是用户名的字符长度,实际要统计的是每个人对应语言列表的长度
  • 第二个判断条件存在语法错误:len(name > 1)的括号位置不对,且判断对象错误

修正后的实现代码

favourite_languages = {
    'Joe': ['French'],
    'Jim': ['Spanish', 'Portugese'],
    'Alan':['German', 'Swedish']
}
for name, langs in favourite_languages.items():
    lang_num = len(langs)
    if lang_num == 1:
        # 单个语言直接取列表第一个元素,输出更美观
        print(f"{name}'s favourite language is {langs[0]}")
    else:
        # 多个语言用逗号拼接成字符串,避免输出列表格式的方括号
        print(f"{name}'s favourite languages are {', '.join(langs)}")

运行输出结果

Joe's favourite language is French
Jim's favourite languages are Spanish, Portugese
Alan's favourite languages are German, Swedish

如果你不需要格式化输出,直接保留列表的原始格式输出,把langs[0]和', '.join(langs)替换为langs即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:18:05