【发布时间】:2019-11-09 21:11:01
【问题描述】:
我正在为我正在工作的实验室开发一种用于分析生物数据的算法,但我觉得卡在了一个点上。这个想法是比较来自单个csv 文件的包含相同类型数据的多个体验。
我根据sublist 中元素中的一个值过滤列表列表(这也是长度为3 的列表),我不知道有多少sublists 组成我的主列表它们的长度都不是(数千),但我想删除所有它们中的 ith 元素。 (我有一个索引列表)
一个例子可能更清楚。
这是我的列表列表(已知长度),我的“索引列表”
mainlist=[[[a,1,1,5],[b,2,1,50],[c,3,1,5]],[[alph,1,2,5],[bet,2,2,50],[gam,3,2,5]]]
indextodelete=[1] (where the 4rth element is > 10)
我尝试得到以下输出
out=[[[a,1,1],[c,3,1]],[[alph,1,2],[gam,3,2]]]
我不太习惯numpy 或pandas。
我尝试使用pop(),或者颠倒我的列表,因为我有很多要删除的元素并且我已经有了我的索引列表。这里,npa 是我的主列表,pval 是用户给定的阈值。
for i,l in enumerate(npa):
for l,k in reversed(list(enumerate(l))):
if float(k)>float(pval):
npa[0:len(npa)][l].pop()
【问题讨论】: