我有一个给定格式的列表:
[['John', 'Smith'], ['Linus', 'Torvalds'], ['Bart', 'Simpson']]
列表 ['Linus Torvalds', ''] 中有一些这样的元素,我想删除它们。那么为什么下面的代码不删除它们呢?
for i in people:
if(i[0] == '' or i[1] == ''):
print people.pop(people.index(i))
您在迭代列表时正在更改列表,这就是问题的根源。一种有效的方法是
people[:] = [p for p in people if p[0] != '' and p[1] != '']
这样,将构建一个仅包含所需元素的新临时列表,然后在操作完成时将其分配给原始列表对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)