昨天要处理几个G的数据时,要把原来用awk写的脚本改成用python写,存储成字典后要搜索键值,一开始用的是in data.keys()来判断是否存在,结果跑大半天都没有跑出结果
if key in data.keys(): #时间复杂度为O(n)
code
if data.get(key, False): #时间复杂度O(1)
code
False是如果没有这个键值的话默认的返回值
这就是差距,一个复杂度是O(n),一个是O(1),如果数据量大的话,这是显著的差距!!!!!!!!!!!!!