Python:从哈希表中返回与搜索关键字有关的哈希值

时间:2013-11-19 12:48:33

标签: python python-2.7 hash

我是python的新手。我正在学习从存储在文件中的哈希表中获取数据。 我想检索有关输入关键字的键和值。这应该作为字典返回。这是表格的一个例子:

{ 
"Technology": {"20809": 98},
"Movie":{"1193435": 1},
"Entertainment":{"13398": 76},
"Computer": {"28765": 54},
"Food": {"708": 4},
"Gasoline": {"358": 18},
"Material": {"98": 6},
"Water": {"3": 6}
}

这是我写的一个功能。

def searchAtHashTable(input):        
    ind = # I read the hash value from a file by using .read()
    for key in ind.keys():
        if key == input:
            return sorted(ind.get(key))

当我搜索“"娱乐"”时,我希望返回像{"娱乐":{" 13398":76}}这样的词典。谢谢你

1 个答案:

答案 0 :(得分:0)

您可以使用键和从原始字典中检索的实际值动态构建字典,如此

data = { 
"Technology": {"20809": 98},
"Movie":{"1193435": 1},
"Entertainment":{"13398": 76},
"Computer": {"28765": 54},
"Food": {"708": 4},
"Gasoline": {"358": 18},
"Material": {"98": 6},
"Water": {"3": 6}
}

def searchAtHashTable(input):
    return {input : data.get(input, {})}

print searchAtHashTable("Entertainment")

<强>输出

{'Entertainment': {'13398': 76}}