list與set的查詢效率,大量數據查詢匹配,必須選set


今天吃了個基礎差的虧,雖然說知道list和set有查詢效率上的區別,但是一直不當回事

這次碰到一個活,要求是將45w的2組數據,進行匹配合並

一個是店鋪導出的訂單數據,一個是快遞給的物流數據

需要把2個匹配合並到一個表格,當然,有些人會說了,用excel處理,函數啥的,1個文件都有1g多,打開電腦得等好久才能反應,要匹配,估計得幾個小時

所以用python來寫腳本,進行數據匹配

首先原始店鋪文件是7個,一個文件里面有6.7w條數據,快遞數據是2個,1個里面有22w條,匹配就通過快遞單號進行

原始數據都全部轉化成csv,方便操作

接下去就是操作思路

1,將店鋪文件一行行進行循環,

2,每次去2個快遞數據表格里面搜索,

3,如果找到,就把快遞數據放到后面

4,如果沒找到,就原數據寫入

快遞數據做了處理,提取單號做成一個list,然后在做一個dict,格式{單號: 對應原始數據},方便找到后進行提取原始數據

然后開始循環操作,實際執行下來,每1000次查詢,需要耗費6秒左右時間

全部數據處理完畢需要30分鍾

然后進行優化

將list改成set,其他不動,結果20秒完成!這個效率簡直了!

這時就看出來了,基礎的東西,有時候就決定了效率

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM