我有一个节点队列,我需要有一个上限和下限,所以我有一个名为QueueEntry的命名元组。
QueueEntry = collections.namedtuple('QueueEntry', ('node', 'lower', 'upper'))
当我在列表中实例化带有命名元组的双端队列时:
bfs_queue = collections.deque([QueueEntry(node, float('-inf'), float('inf'))])
而不是:
bfs_queue = collections.deque(QueueEntry(node, float('-inf'), float('inf')))
答案 0 :(得分:0)
deque 的输入是iterable,因此任何可迭代的数据结构都足够:列表,元组,集合,字典等。
或者,您可以使用 append()或 appendleft()方法直接附加对象:
QueueEntry = collections.namedtuple('QueueEntry', ('node', 'lower', 'upper'))
bfs_queue = collections.deque()
bfs_queue.append(QueueEntry(node, float('-inf'), float('inf')))
bfs_queue.append(QueueEntry(another_node, 0, 0))
希望这会有所帮助:-)