我有一个顶点列表和它们之间的长度。我想创建一个函数,通过搜索列表来查找列表中2个顶点之间的距离。
列表看起来像:
lengths = [[X, Y, length], [X, Z, length], [Y, Z, length], etc]
假设顶点是X和Y我可以使用X,Y索引列表以找到X和Y之间的长度吗?
目前我这样做:
def find_sides(X, Y, lengths):
for a in lengths:
if a[0] == X and a[1] == Y:
length = a[2]
return length
但随着长度列表的增加,这可能需要时间。
由于
答案 0 :(得分:2)
您可以使用字典:
lengths = {(X, Y): length, (X, Z): length, (Y, Z): length, ...}
然后,这只是索引字典的问题:
length = lengths[(X, Y)]
您可以使用词典理解将当前列表转换为建议的格式:
lengthDict = {(a, b): c for [a, b, c] in lengthList}