Skip to main content
 首页 » 编程设计

python之如何在字典中迭代和搜索

2025年05月04日10zhengyun_ustc

我构建了一个这样的字典:

目录是:

{((2, 1), 'South', 1): set([((2, 2), 'South', 1)]),  
((1, 3), 'South', 1): set([((1, 4), 'South', 1)]),  
((5, 3), 'East', 1): set([((4, 3), 'North', 1)]),  
((2, 2), 'South', 1): set([((2, 3), 'East', 1)]),    
((4, 2), 'East', 1): set([((3, 2), 'East', 1)]),  
((1, 1), 'West', 1): set([((2, 1), 'South', 1)])} 

我想像这样遍历这个字典:

如果我有 ((2, 1), 'South', 1) 作为键,那么我想提取它的值 set([((2,2 ),'South',1)]) 并将其作为键并搜索并找到它的值等等...

但我无法为此构造一个函数。我一直只得到一个值,它进入无限循环。我想我可能错误地获取了值。有人可以告诉我该怎么做吗?

请您参考如下方法:

以下情况如何:

key = ((2, 1), 'South', 1) 
while (x.has_key(key)): 
    print x[key] 
    key = iter(x[key]).next()