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

标签 python

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

目录是:

{((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()

关于python - 如何在字典中迭代和搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12813473/

相关文章:

python - 如何将模型移动到 Django 站点管理中的其他部分

python - 如何将Python对象类型(应该是Python日期类型)列转换为Python日期列?

python - 如何在 Mann-whitney u 测试的数据框中忽略 NaN?

Python xlrd - 具有受密码保护的工作表的 open_workbook 方法

python - 如何获得用户权限?

python - 如何检查 python 函数是否是 Tornado 生成器

python - pyaudio 的替代品用于 python 中的音频处理?

python - 显示网络摄像头Python

python - 参与区 Nao

Python:如何判断列表中的元素是否包含某个数字?