我有一组输入条件,我需要比较这些条件并根据两个输入生成第三个值。一个包含 3 个元素的元组列表似乎是一个合理的选择。我可以使用一些帮助的地方是构建一个紧凑的方法来处理它。我已经列出了我正在考虑使用的结构,如下所示:
input1(string)与第一个元素比较,input2(string)与第二个元素比较,如果匹配则返回第三个元素
('1','a', string1)
('1','b', string2)
('1','c', string3)
('1','d', string3)
('2','a', invalid)
('2','b', invalid)
('2','c', string3)
('2','d', string3)
最佳答案
创建一个字典,字典可以将元组作为键并将第三项存储为它的值。
使用字典将为任何一对 (input1,input2)
提供 O(1)
查找。
dic = {('1','a'): string1, ('1','b'):string2, ('1','c'): string3....}
if (input1,input2) in dic:
return dic[input1,input2]
else:
#do something else
在这种情况下使用元组列表将是一种 O(N)
方法,对于每个 input1
、input2
遍历整个元组列表(在最坏的情况下)。
关于Python:匹配元组中的两个元素,返回第三个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174605/