您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

迭代时修改列表

迭代时修改列表

可以这么说,您 不是在 修改列表。您只是在修改列表中的元素。我不认为这是个问题。

为了回答第二个问题,确实允许两种方式(众所周知,因为您运行了代码),但这取决于情况。内容是可变的还是不变的?

例如,如果要向整数列表中的每个元素添加一个,则此方法将无效:

>>> x = [1, 2, 3, 4, 5]
>>> for i in x:
...     i += 1
... 
>>> x
[1, 2, 3, 4, 5]

的确,ints是不可变的对象。相反,您需要遍历索引并更改每个索引处的元素,如下所示:

>>> for i in range(len(x)):
...     x[i] += 1
...
>>> x
[2, 3, 4, 5, 6]

如果您的项目是可变的,那么毫无疑问,第一种方法(直接迭代元素而不是索引)效率更高,这是因为索引的额外步骤是可以避免的,因为这些元素是可变的。

其他 2022/1/1 18:43:28 有313人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶