为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2022-08-25 15:34:28
假设我有一个列表: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]]


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信