如何从列表列表中删除多个元素?

问题描述 投票:0回答:1

我有列表元素的列表。就我而言,我正在使用dlib跟踪器。将所有检测到的跟踪器添加到列表。我正在尝试从列表中删除一些跟踪器。为简单起见,我有一个如下列表,

[[1, 2, 3], [4,5,6], [7, 8,9], [2,54,23], [4,12,5], [3,2,6]]

我想在列表中找到4时删除列表项。

为此,我在下面的代码段中使用该索引来查找要删除的元素的索引。

t=  [[1, 2, 3], [4,5,6], [7, 8,9], [2,54,23], [4,12,5], [3,2,6]]
del_item = []
idx = 0
for item in t:
    if 4 in item:
        del_item.append(idx)
    idx+=1
print(del_item)

到目前为止很好。我有要删除的元素的索引。我被困在如何删除列表列表中的多个索引?

预期输出:

[[1, 2, 3], [7, 8,9], [2,54,23], [3,2,6]]
python python-3.x list dlib
1个回答
0
投票

您可以使用列表理解仅用一行就可以完成:

trackers = [[1, 2, 3], [4,5,6], [7, 8,9], [2,54,23], [4,12,5], [3,2,6]]
filtered = [x for x in trackers if 4 not in x]
print(filtered)

输出:

[[1, 2, 3], [7, 8,9], [2,54,23], [3,2,6]]
© www.soinside.com 2019 - 2024. All rights reserved.