Python-删除同一索引中多个子列表的元素

Python-删除同一索引中多个子列表的元素,python,list,indexing,Python,List,Indexing,我正在为我工作的实验室开发一种分析生物数据的算法,但我觉得有点卡住了。我们的想法是比较包含来自单个csv文件的相同类型数据的多个体验 我正在根据子列表中元素中的一个值(也是长度为3的列表)筛选列表列表,我不知道有多少子列表组成了我的主列表,也不知道它们的长度(千),但我想删除它们中的I第个元素。(我有一个索引列表) 一个例子可能更为明确 这是我的列表列表(已知长度),我的“索引列表” 我尝试获得以下输出 out=[[[a,1,1],[c,3,1]],[[alph,1,2],[gam,3,2]]]

我正在为我工作的实验室开发一种分析生物数据的算法,但我觉得有点卡住了。我们的想法是比较包含来自单个
csv
文件的相同类型数据的多个体验

我正在根据
子列表
中元素中的一个值(也是长度为3的列表)筛选列表列表,我不知道有多少
子列表
组成了我的主列表,也不知道它们的长度(千),但我想删除它们中的
I
第个元素。(我有一个索引列表)

一个例子可能更为明确

这是我的列表列表(已知长度),我的“索引列表”

我尝试获得以下输出

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()

这篇文章不是很清楚,但要从A->B获得这个示例,我将运行:

main_list = [
    [[0, 1, 1, 5], [0, 2, 1, 50], [0, 3, 1, 5]],
    [[0, 1, 2, 5], [0, 2, 2, 50], [0, 3, 2, 5]]
]
index_to_delete = 1
for sub_list in main_list:
    del sub_list[index_to_delete]
    for smallest_list in sub_list:
        smallest_list.pop()
print(main_list)
输出与您指定的内容匹配:

[0,1,1],[0,3,1],[0,1,2],[0,3,2]]

注:我已将0替换为
a
b
c
等,因为未提供这些值


这可能不是你想要的,但我认为至少应该让你走上正轨

这篇文章不是很清楚,但要从A->B获得这个例子,我将运行:

main_list = [
    [[0, 1, 1, 5], [0, 2, 1, 50], [0, 3, 1, 5]],
    [[0, 1, 2, 5], [0, 2, 2, 50], [0, 3, 2, 5]]
]
index_to_delete = 1
for sub_list in main_list:
    del sub_list[index_to_delete]
    for smallest_list in sub_list:
        smallest_list.pop()
print(main_list)
输出与您指定的内容匹配:

[0,1,1],[0,3,1],[0,1,2],[0,3,2]]

注:我已将0替换为
a
b
c
等,因为未提供这些值


这可能不是你想要的,但我认为至少应该让你走上正轨

谢谢你,事实上我有一个要删除的元素索引列表,但我意识到数据并不像我期望的那样,所以我不得不做一个元组列表(最小列表的“位置”)我最后还使用了numpy数组,你可能对下面的代码感兴趣或者有一些意见。谢谢你,事实上,我有一个要删除的元素索引列表,但我意识到数据并不像我预期的那样,所以我不得不做一个元组列表(最小列表的“位置”),我最后还使用了numpy数组,您可能对下面的代码感兴趣或有一些评论。