所以這是我最好的「Like」要能寫:的Python:尋找根據字典中的最小值
cur_loc = min(open_set,key=lambda x:costs[x])
cur_loc
是一個元組,而我們的目標是將其設置爲成本最低的open_set
中的元組。 (並且您發現x
與costs[x]
的成本)
我怎麼能這樣做?我嘗試了Python.org的文檔min()
,但我似乎找不到太多幫助。
謝謝!
編輯: 我解決了我自己的問題。
我被推遲了,並沒有初始化費用字典。我實際上是複製和粘貼別人的Python代碼,以測試他們在做什麼,但顯然他們創建的代碼片段不包括初始化部分。 Woops。如果有人有興趣:
for row in range(self.rows):
for col in range(self.cols):
myloc = (row,col)
if (myloc) not in closed_set:
costs[myloc] = (abs(end_row-row)+abs(end_col - col))*10
if (myloc) not in open_set:
open_set.add(myloc)
parents[myloc] = cur_loc
cur_loc = min(open_set,key=lambda x:costs[x])
你需要提供一個'open_set'和相關的'costs'字典的例子。也。爲什麼這些相互分離? 'open_set'是'costs'中的一些項目子集?它是一個適當的'set'實例嗎? –