我有一个列表,其中一些项目应该被移动到一个单独的列表中(通过比较器函数)。这些元素是纯粹的命令。问题是我应该如何迭代这样的列表。
迭代最简单的时候,for element in mylist
,然后不知道元素的索引。列表没有 .iteritems()
方法,这在这里很有用。所以我尝试使用 for index in range(len(mylist)):
,[1] 对于 python 来说似乎过于复杂,而 [2] 并不令我满意,因为 range(len())
在开始时计算一次,如果我在迭代期间从列表中删除一个元素,我将得到 IndexError: list index out of range
。
最后,我的问题是 - 我应该如何遍历 python 列表,以便能够从列表中删除元素(使用比较器函数并将它们放在另一个列表中)?
最佳答案
您可以使用枚举函数并制作列表的临时副本:
for i, value in enumerate(old_list[:]):
# i == index
# value == dictionary
# you can safely remove from old_list because we are iterating over copy
关于python list.iteritems 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21953456/