Python 列表删除问题

标签 python list python-2.6

<分区>

我正在从列表中删除元素。但是使用 for 遍历元素,我可以看到正在访问替代元素,因此所有元素都没有被删除。

代码

l = ['A','B','C','D','E','F']
for x in l:
    l.remove(x)
    print "My List:"+str(l)
print "Final List:"+str(l)

输出

My List:['B', 'C', 'D', 'E', 'F']
My List:['B', 'D', 'E', 'F']
My List:['B', 'D', 'F']
Final List:['B', 'D', 'F']

能否请您建议对此逻辑进行任何修改以解决问题。或者,如果有更好的方法。

最佳答案

你不应该修改你正在迭代的列表,否则你一定会得到奇怪的结果。

而是遍历列表的副本:

for x in l[:]:
    l.remove(x)

关于Python 列表删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17869529/

相关文章:

python - 使用元类覆盖复杂内置方法

python - MacOS X 上的基本 pyinstaller

python - 在元组列表中搜索最小值

python - 使用 optparse 调用函数

python - 使用Python在文件中查找字符串并在同一行中提取整数值

rundeckrun 的 Python 2.6 兼容性

python - 如何修复 python 中的 sklearn 多元线性回归 ValueError(样本数不一致 : [2, 1])

python - 在 numpy 数组中查找相同值序列的长度(运行长度编码)

r - 比较两个 data.frames 列表中的 colname?

python - 如何从Python列表中索引两个元素?