輸出的格式爲: - ((6,5),'north',1)
Python字典問題的n
我想提出一個字典的孩子吧......在(6,5)
是關鍵,north
和1
是值。我需要保持(6,5)
爲關鍵字,north
爲方向....我想繼續添加所有的值直到while
循環繼續
輸出的格式爲: - ((6,5),'north',1)
Python字典問題的n
我想提出一個字典的孩子吧......在(6,5)
是關鍵,north
和1
是值。我需要保持(6,5)
爲關鍵字,north
爲方向....我想繼續添加所有的值直到while
循環繼續
如果你想保留的所有鍵/值對在一個字典(和所有的按鍵都不同,當然):
totaldict = {}
for ...whatever your loop is...:
...
totaldict.update((t[0], t[1:]) for t in n)
如果你想類型的字典列表,@聖的答案很好。如果你想與不一定所有不同按鍵,每個按鍵的對應值的元組的列表中的單個字典:
import collections
totaldict = collections.defaultdict(list)
for ...whatever your loop is...:
...
for t in n:
totaldict[t[0]].append(t[1:])
可能有其他感官但您可能意味着「保持此dictioanary的所有值「來表示,但像往常一樣,它不可能精確地猜出您想要的許多可能含義的。
編輯:從OP的編輯(備受澄清了他的問題,但許多陰暗的方面仍然是我已經問了一些他以前的問題),他不一定需要一個字典 - 他當他最終到達被問題對象認爲是「解決方案」(或「目標」)的節點時,需要能夠追蹤任何路徑向後。
OP對Q的編輯現在似乎已經神祕地消失了,但是如果(如我模糊地回想起)他跳過先前被推入堆棧的任何節點,則一個字典將會執行,因爲每個節點將在最多一次(因此,沒有重複的鍵) - 然而,該字典的條目,與節點作爲關鍵,不應該指向節點的後繼(從目標跟蹤路徑信號無用!),但導致訪問該節點的前驅(以及從該前一個節點取得的方向來到該節點)。根的節點條目應該是空的(因爲它沒有前驅)。
聽起來你想要一個字典列表,但是很難用很少的上下文來講述。
my_list = []
while some_loop_condition:
child = dict((t[0], t[1:]) for t in n)
my_list.append(child)
看起來要定義「孩子」外,如果環路,並在引用它:
如:
child = {}
while blah:
...
child.update(dict((t[0], t[1:]) for t in n)
...
它會保留所有的條目....但我只需要提供在字典第二位置的方向列表( (4,5):北,1),(7,5):南,1)。如何獲得這些方向 – Shilpa 2010-07-18 03:37:44
這將有助於看到整個'while'環 – John 2010-07-18 02:43:32