<分区>
我想按索引删除列表中的多个项目:
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 位置上的所有项目。
<分区>
我想按索引删除列表中的多个项目:
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/