python - 在 Python 中按索引删除列表中的多个元素

标签 python list

<分区>

我想按索引删除列表中的多个项目:

dS = [0, 0.02, 0, 0.04, 0.07, 0]
dN = [1, 0.02, 0.3, 0.7, 0.9]
pos = [i for i, e in enumerate(dS) if e ==0]

现在我想删除(在两个列表中)第一个列表中 0 位置上的所有项目。

最佳答案

假设您有任何 old_list,其中包含您要删除的索引 pos 列表:

new_list = [old_list[i] for i, e in enumerate(old_list) if i not in pos]

通过删除 pos 指定的索引处的元素,这将适用于您问题中的两个列表,只需将 old_list 替换为您当前拥有的列表名称:

dS = [0, 0.02, 0, 0.04, 0.07, 0]
dN = [1, 0.02, 0.3, 0.7, 0.9]
pos = [i for i, e in enumerate(dS) if e ==0]
dS = [dS[i] for i, e in enumerate(dS) if i not in pos]
dN = [dN[i] for i, e in enumerate(dN) if i not in pos]
>>> dS, dN
([0.02, 0.04, 0.07], [0.02, 0.7, 0.9])

这适用于长度不同的列表,如上例所示。

关于python - 在 Python 中按索引删除列表中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53564292/

相关文章:

python - icon_clock.gif 和 icon_calender.gif 的 django static admin 404

java - Java 列表中的二分查找

Python-如何计算列表中出现的次数

python - TCP 上的 Spark 流式传输

python - 从 Python 中的函数访问类变量

python - 我怎样才能更好地编写这些函数以使其有意义

mysql列表与查询逻辑的比较问题

r - 将 Excel 文件名与 dplyr::bind_rows .id 关联

python - `async for` 的语义 - __anext__ 调用可以重叠吗?

python - 在 iPad 上进行选择时,模态内的自动完成功能效果不佳