当键是元组时搜索字典键

时间:2017-04-06 04:50:41

标签: python python-3.x dictionary

None

返回ptr == nullptr。我知道我可以将它们分开并制作具有相同值的多个键,但如果可以的话,我真的很想避免这样做。我可以吗?

我还希望能够搜索值(也可能是元组)并获取相应的键。

2 个答案:

答案 0 :(得分:2)

使用iteritems()会对您有所帮助。更新您的search()方法,如下所示。应该工作正常。

def search(c):
    for k, v in sample.iteritems():
        if type(k) in [list, tuple, dict] and c in k:
            return v
        elif c == k:
            return v

如果字典中出现多次c

def search(c):
    found = [ ]
    for k, v in sample.iteritems():
        if type(k) in [list, tuple, dict] and c in k:
            found.append(v)
        elif c == k:
           found.append(v)
    return found

这将返回字典中匹配值的列表。

希望这有帮助! :)

答案 1 :(得分:-1)

如果您不需要搜索整个元组('red', 'blue', 'purple'),那么只需稍微改编一下您的字典:

sample = {e: v for k, v in {('red', 'blue', 'purple') : 'color'}.items()
               for e in k}