输出的格式为: - ((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