我试图从元组字典中返回与具有最小第三索引值的元组相对应的键(一个namedtuple顶点作为键,一个包含 3 个元素作为值的元组)。
例如,假设我有元组:
vertex = namedtuple("Vertex", ["vertex_id", "vertex_x", "vertex_y"])
d = {vertex(vertex_id='B', vertex_x=11, vertex_y=0): (4, 5, 9),
vertex(vertex_id='C', vertex_x=6, vertex_y=0): (2, 0, 2),
vertex(vertex_id='A', vertex_x=4, vertex_y=0): (0, 2, 3)}
我需要一些东西来回报我Vertex(vertex_id='C', vertex_x=6, vertex_y=0)。我正在尝试类似的操作min(d.values(), key = lambda t: t[2])(但这会返回元组(2, 0, 2),我必须将其追溯到其密钥)或min(d, key = lambda t: t[2])(这实际上不起作用)。
有没有更好的方法来设置 min() 来执行此操作,或者我是否必须追溯与第一种方法给我的值对应的键?如果我在使用较大的词典时不必搜索它,那么效率会更高。
慕码人8056858
慕码人2483693
沧海一幻觉
相关分类