【问题标题】:Python PriorityQueue. How to get() the data element instead of its priority number?Python 优先队列。如何获取()数据元素而不是其优先级?
【发布时间】:2021-01-24 18:41:08
【问题描述】:

我想知道是否有任何方法可以从 PriorityQueue 中仅检索数据元素本身而不是其优先级编号。

下面的示例按预期打印数字“11”。 但是,我只需要它来打印字符串“item A”。

当我尝试时:

a = q.get()[1]

我只是得到一个 TypeError 说“'int' object is not subscriptable”。

谁能指点我正确的方向?

from queue import PriorityQueue

q = PriorityQueue()

q.put(11, "item A")

a = q.get()

print(a)

输出:

11

【问题讨论】:

    标签: python-3.x queue priority-queue


    【解决方案1】:

    试试这个。

    from queue import PriorityQueue
    q = PriorityQueue()
    b  = (11, "item A")
    q.put(b)
    a = q.get()
    print(a[1])
    

    【讨论】:

    • 谢谢!我想我正在慢慢发疯,因为我觉得我以前尝试过,但显然没有。这解决了问题:]
    • @DeadManProp 不要提及它。我很高兴有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2011-12-20
    • 1970-01-01
    • 2016-09-23
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多