首页 > 解决方案 > 如何从给定的索引数组中弹出列表中的元素?

问题描述

我有一个清单

list=[[5,7,8],[2,8,4],[1,72,7],[8,79,80],[4,39,84],[6,78,89],[80,78,81],[12,39,50]]

我有一个索引列表:

indexes=[1,3,7]

最后,我想从列表中删除第 1、第 3 和第 7 个元素

并且输出应该是这样的:

[[5,7,8],[1,72,7],[4,39,84],[6,78,89],[80,78,81]]

我使用了这段代码:

for i in indexes:
    list.pop(i)

但它不起作用,我该如何解决?

标签: pythonlist

解决方案


我会创建一个不包含这些索引的新列表。对原始列表使用列表理解enumerate(这样您就可以轻松获取列表和索引)甚至可以使它成为一个单行:

result = [e[1] for e in enumerate(lst) if e[0] not in indexes]

推荐阅读