You need to enable JavaScript to run this app. Python字典迭代时如何去除Betty对应的冗余地点提示输出
优惠活动
大模型
产品
解决方案
定价
更多

Python字典迭代时如何去除Betty对应的冗余地点提示输出

问题根源

原代码的判断逻辑存在两处核心问题:

  • 用len(str(v)) > 1判断是否为多地点场景逻辑完全失效:Betty对应的存储值是字符串类型的单地点"Bahrein",转成字符串后长度为7,满足>1的条件,错误触发了多地点提示的打印,出现冗余行。
  • 对字符串类型的地点值直接做遍历操作,会把字符串拆成单个字符循环,进一步触发了原本为单字符串场景写的异常打印分支。
修改方案

直接通过值的类型做分支判断:多地点场景对应列表类型,单地点场景对应字符串类型,替换掉原本失效的长度判断逻辑,同时修正单地点提示的语法错误。

修改后完整代码

Favorite_Places = {
    "Jeff": ["Chicago","Berlin","Munchen"],
    "Kai": ["New York", "Washington"],
    "Sally": ["Texas", "Dublin"],
    "Betty": "Bahrein"
}

for k, v in Favorite_Places.items():
    # 列表类型为多地点场景
    if isinstance(v, list):
        print(f"{k}'s favourite places are")
        for place in v:
            print(place)
    # 其余类型(此处为字符串)为单地点场景
    else:
        print(f"{k}'s favourite place is {v}")

修改后运行输出

冗余提示行已被移除,最终输出如下:

Jeff's favourite places are
Chicago
Berlin
Munchen
Kai's favourite places are
New York
Washington
Sally's favourite places are
Texas
Dublin
Betty's favourite place is Bahrein

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 10:15:00