假设我有一个列表:lst = [[5,1,2,3],[2,3,4,5,7],[1,10,9,8,7]]我还有另一个列表,其中包含要从上一个列表中删除的元素的索引:indexes_to_del = [[0,2],[1,2],[1,3],[2,2]]因此,我们得到以下列表:new_lst = [[5,1,3],[2,3,7],[1,10,8,7]]最有效的方法是什么?我最初的感觉是使用del不是最有效的方法,我必须找到一些方法来创建一个新列表并将所需的值附加到它。谢谢!
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
以下是使用嵌套列表理解实现此目的的一种可能方法:
new_lst = [[e for j, e in enumerate(lst[i]) if [i, j] not in indexes_to_del] for i in range(len(lst))]
输出:
[[5, 1, 3], [2, 3, 7], [1, 10, 8, 7]]
添加回答
举报
0/150
提交
取消