我有一个字典,它将三元组映射到三元组,其中键元组有一些共同的元素
dict= { (a,b,c):(1,2,3),
(a,b,d):tuple1,
(a,e,b):tuple,
.
(f,g,h):tuple3,
.
.
.
tuple:tuple
}
现在我如何在字典中找到与(a,b,anyX)匹配的值ie (1:2:3) and tuple1
这是计算机生成的,而且非常大,因此,需要努力确定anyX。
那么,我有什么好办法可以做到这一点吗?
编辑:将(f,g,*),(f,*,g)部分匹配到tuple3也有帮助,但不是必需的。
Tags:
假设您传递的是
None
作为缺少的键,那么您可以使用all
和zip
:你可以把字典重构成三重嵌套的dict
这里,
d
相当于:现在您可以很容易地遍历可能的第三个键,给定第一个和第二个键。
结果:
这只适用于匹配第三个键。例如,给定第三个和第一个键,就无法找到所有第二个键。
可能有其他方法,但假设您只需要执行一次搜索(换句话说,可能有方法构建更好的数据结构以进行重复搜索): (注意,这处理任意长度的元组,在多个可能的位置使用“*”)
是的。
相关问题 更多 >
编程相关推荐