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

Python中存储TreeNode与整数元组到队列后解包失败的问题求助

Python中存储TreeNode与整数元组到队列后解包失败的问题求助

我现在在Python里实现一个算法,需要以FIFO的方式给树添加和弹出节点。我初始化了一个空列表当队列,还有一个标准的TreeNode节点(带有val、left和right属性):

queue = []  # empty list
root = TreeNode()  # a standard TreeNode with val, left and right

我想把root节点和一个整数一起存在队列里,于是这么写:

queue.append((root,0))

之后我尝试弹出并解包:

n,l = queue.pop(0)

结果却遇到了这个错误:

TypeError: cannot unpack non-iterable TreeNode object
    ^^^
    n,l = queue.pop(0)

我单独测试过只存root节点的情况,弹出和解包都是正常的,问题应该出在加了整数之后,我猜是不是自己的语法写错了?我还试过这几种写法:

  • queue.append(((root,0)))
  • queue.append(Tuple((root,0)))
  • queue.append([(root,0)]) —— 这个直接报了ValueError: not enough values to unpack (expected 2, got 1)

但这些方法都不管用,有没有大佬能帮忙看看问题出在哪呀?


更新:按照要求,我把相关代码贴出来:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(...):
#         self.val = val
#         self.left = None
#         self.right = None

备注:内容来源于stack exchange,提问作者user13079354

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:53:08