我有這些索引:[3,1,1,2] 我需要附加這些專案:
[Item("beer", 4), Item("steak", 1), Item("hamburger", 1), Item("donut", 3)]
列出,按照這個特定的順序
[ Item("hamburger", 1),Item("steak", 1), Item("donut", 3),Item("beer", 4)]
我是用 python 做的,我嘗試了很多方法,但沒有一個能正常作業
uj5u.com熱心網友回復:
下面構建一個優先級佇列,其中“索引”表示每個專案的優先級:
>>> indices = [3, 1, 1, 2]
>>> items = [("beer", 4), ("steak", 1), ("hamburger", 1), ("donut", 3)]
>>> from bisect import bisect_left
>>> prio = []
>>> new = []
>>> for i, item in zip(indices, items):
... index = bisect_left(prio, i)
... prio.insert(index, i)
... new.insert(index, item)
...
>>> new
[('hamburger', 1), ('steak', 1), ('donut', 3), ('beer', 4)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/339438.html
