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

字典内列表拆分遇报错:'list' object has no attribute 'split' 求助

问题解决:字典列表扁平化并去重

错误原因

你触发的'list' object has no attribute 'split'错误,是因为split()是字符串专属方法,但你遍历graph.values()得到的i是列表类型(比如[1]、[2,3]),列表没有split方法——你的目标是提取列表里的整数元素,完全不需要这个操作,直接遍历子列表即可。

解决方案1:嵌套循环手动去重

直接遍历每个子列表的元素,检查是否已存在于结果列表中,不存在则添加:

graph = {0 : [1],
         1 : [2, 3],
         2 : [2],
         3 : [0]
}

visited = []
# 遍历字典的每个值(子列表)
for sublist in graph.values():
    # 遍历子列表中的每个数字
    for num in sublist:
        if num not in visited:
            visited.append(num)
            
print(visited)  # 输出: [1, 2, 3, 0]

解决方案2:用集合/字典快速去重

利用集合的唯一性自动去重,或者用字典键的有序性(Python 3.7+)保留元素首次出现的顺序:

graph = {0 : [1],
         1 : [2, 3],
         2 : [2],
         3 : [0]
}

# 方法2.1:集合去重(顺序可能不固定,取决于Python版本)
visited = list({num for sublist in graph.values() for num in sublist})

# 方法2.2:用dict.fromkeys保留首次出现的顺序(Python 3.7+)
visited = list(dict.fromkeys(num for sublist in graph.values() for num in sublist))

print(visited)  # 输出: [1, 2, 3, 0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:10:47