【发布时间】:2011-09-29 17:29:40
【问题描述】:
我有一个给定格式的列表:
[['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.remove(i)
-
您提供的列表没有第一个或第二个元素为空字符串的情况。
-
当你还想处理索引时,使用类似
for i, (first, last) in enumerate(people):和i将是0, 1, 2, ... -
很可能通过获取迭代器 (
iter(people)) 并仅在某些时候调用iterator.next()来做您想做的事情......但这很少是最好的解决方案。
标签: python nested-lists