我希望尝试以这种方式避免条件if / elif语句的长链没有性能或其他缺点:
errstr = {404: "404 Not Found",
405: "405 Method Not Allowed"}
if code in errstr:
print errstr[code];
答案 0 :(得分:4)
是的,它们是最好的解决方案,因为它们被实现为哈希表,提供大致恒定的查找时间(如果哈希函数是好的)。二叉树将给出对数查找时间,if
链线性时间。如果必须表示从不太大的有限集到其他集的映射,散列表通常是要走的路。