处理任务:
几十万数据,目标,把重复数据的top,找出来。
类似这样
第一次:
dict = {item: list.count(item) for item in set(list)}
这样建字典太慢了,几十万更本处理不过来
第二次:
if num not in num_dic.keys():
num_dic[num] = 1
else:
num_dic[num] +=1
还是太慢,主要原因是dic.keys()返回一个列表…
第三次:使用get方法
ifnum_dic.get(num) != None:
num_dic[num] +=1
else :
num_dic[num] = 1
之后
sorted_x = sorted(dict.items(), key=lambda x: x[1], reverse=True)
通过根据值排序,生成list,再把list打印即可:
table = PrettyTable(["num","pv"])
table.align["num"] = "l"
able.padding_width = 1
for tup in sorted_x:
table.add_row([tup[0],tup[1]])