标签: python
我当时正在编写一段需要字典比较的代码,我对它的时间复杂性感到好奇。 python如何实现字典比较?
if Dict_1 == Dict_2: do something
答案 0 :(得分:1)
它以递归方式比较字典中的key:value对,因此,理论上比较时间应等于number_of_all_recursive_items * time_to_check_one_item(当然,我正在寻找最坏的情况-当dict相等,所有对都在检查)。但是实际上有很多陷阱。看这张照片:
key:value
number_of_all_recursive_items * time_to_check_one_item
它是平面字典的dict_length-time图。此外,您可以查看嵌套字典的比较:
因此,您不能保证您的比较会花费特定的时间。但是通常-是的,递归字典长度和比较时间之间存在线性关系。