给定python中的2d列表,如何仅将某些值附加到新列表中?

假设我有一个列表:

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不是最有效的方法,我必须找到一些方法来创建一个新列表并将所需的值附加到它。

谢谢!


慕标5832272
浏览 91回答 1
1回答

烙印99

以下是使用嵌套列表理解实现此目的的一种可能方法: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]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python