python 嵌套List去重之set大法(表格转化为str再hash去重) 和 遍历append大法

网上常见的python List去重主要是3钟.

1、遍历,not in ,再append

2、直接set

3、itertools.grouby

 

对于嵌套list去重. 可以利用分隔符将list合并为字符串后,再用set去重. 速度会有很明显的提高!

从遍历大法的 30分钟+ ,到4s就完成

 

小弟之前主要是用1 . 因为set无法对表格套表格进行处理.

直到今天处理一串200万行的list.  因为list无法hash, 所以用append大法.

结果喝了两杯茶了,都还没好!!!

python 嵌套List去重之set大法(表格转化为str再hash去重) 和 遍历append大法_第1张图片

用tqdm模块来生成进度条,查看遍历的进度时,心,彻底寒了...

python 嵌套List去重之set大法(表格转化为str再hash去重) 和 遍历append大法_第2张图片

什么,居然要尼玛26分钟?  而且随着 list_noDuplicate慢慢变大,速度会越来越慢.

然后就试试上面说的方法.  将list转化为str后再用set去重

(因为数据都是取自数据库,所以是标准的结构化数据)

 

python 嵌套List去重之set大法(表格转化为str再hash去重) 和 遍历append大法_第3张图片

从30分钟..变到了4秒钟

我的妈呀

你可能感兴趣的:(python 嵌套List去重之set大法(表格转化为str再hash去重) 和 遍历append大法)