作者stba5328 (St. Ba)
看板Python
标题[问题] 删除大量数据的速度问题
时间Thu Nov 5 15:11:44 2015
想请问一下
我想从x, y两个元素数量相等list当中,删除所有值为-9999的项,
并且另一list同index的项目也要删除,但因为list中大概有180万笔,
-9999的联集数量大概57万笔,该如何加速以下的程序呢?
def get_index(a):
lst = [i for i, j in enumerate(a) if j == -9999]
return lst
indx = get_index(x)
indy = get_index(y)
indlst = list(set(indx) | set(indy))
xlst = [j for i, j in enumerate(x) if i not in indx]
ylst = [j for i, j in enumerate(y) if i not in indy]
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.122.53.22
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1446707507.A.1AC.html
※ 编辑: stba5328 (140.122.53.22), 11/05/2015 15:12:29
1F:→ walelile: get_index()跟xlst = ... 不是在做同一件事吗? 11/05 15:23