python list.iteritems 替换

标签 python list

我有一个列表,其中一些项目应该被移动到一个单独的列表中(通过比较器函数)。这些元素是纯粹的命令。问题是我应该如何迭代这样的列表。

迭代最简单的时候,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/

相关文章:

python - 将类转换为模块 Python3

python 嵌套列表理解

python - 将 KeyErrors 和 IndexErrors 保存到列表/字典

python - pandas 中的并行字符串替换

python - 让 Scrapy 跟随链接并收集数据

python - Numpy字符串数组,赋值

html - 在列表内联中显示图像

python - 如何在 python 中使用文本文件中的列表?

python - 如何使用列表中的项目填充 Tkinter optionMenu

Python 3 在系统调用中转义引号