python - 如何通过每次都可以更改的索引删除列表中的多个元素?

标签 python list indexing del

我有如下列表:

A =  [1, 2, 3, 4]

使用枚举后我有以下列表:

A = [(0, 1), (1, 2), (2, 3), (3, 4)]

检查条件后,我意识到我不需要索引为 0 和 2 的元素。 这意味着我的条件返回如下列表,每次都可能不同:

condA = [(0, 1), (2, 3)]

我知道我可以使用 del.pop() 从列表中删除一个元素。 但是,我想知道如何在我的 condA list 中读取 (0) 和 (2) 之类的数字,并从我的原始列表中删除这些元素。 我不想在我的代码中输入 0 和 2,因为每次它们都会不同。

结果是这样的:

A_reduced = [2, 4]

最佳答案

如果你想从 condA 列表中读取索引并创建该数字的列表,要删除的元素索引列表将如下所示:

rm_lst = [x[0] for x in condA]

现在,从主列表中删除元素:

A = [(0, ((11), (12))), (1, ((452), (54))), (2, ((545), (757))), (3, ((42), (37)))]
A_reduced = [x[1] for x in A if x[0] not in rm_lst]

最终代码:

A = [(0, ((11), (12))), (1, ((452), (54))), (2, ((545), (757))), (3, ((42), (37)))] 
condA = [(0, ((11), (452))), (2, ((545), (757)))]
rm_lst = [x[0] for x in condA]
A_reduced = [x[1] for x in A if x[0] not in rm_lst]
print(A_reduced)

关于python - 如何通过每次都可以更改的索引删除列表中的多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56332623/

相关文章:

python - 多元标量函数的梯度下降优化

PHP - 如何从 python 程序调用特定函数(Python 3.4、PHP 7、CodeIgniter)

java - 请求索引 0,大小为 0

python - 我可以用来在本地存储页面的好应用程序?

list - Clojure 将多张 map 合并为一张 map

以 None 为参数的 Python 列表切片

list - Prolog:使用其他列表的重复元素构建列表

oracle - 创建索引是否应该立即更新 Oracle 查询计划?

mysql - SQL 密集索引和稀疏索引

python - 如何检测django的确切浏览器