【发布时间】:2012-03-13 22:30:43
【问题描述】:
简单示例:
myList = [1, 2, 3, 4, 5]
for obj in myList:
obj += 1
print myList
打印
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
同时:
myList = [1, 2, 3, 4, 5]
for index in range(0,len(myList)):
myList[index] += 1
print myList
打印
[1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
结论:
- 列表可以使用全局列表访问就地修改列表可以
- 列表项不能使用迭代器对象就地修改
我能找到的所有示例代码都使用全局列表访问器来就地修改列表。 修改列表迭代器就这么邪恶吗?
【问题讨论】:
-
按原样,此代码将生成
NameError,因为未定义a。 -
您的代码示例很糟糕。最早的印刷品从何而来?您的打印“a”不存在并且有两个输出。
-
对不起,'a' 显然应该是 'myList'。已在帖子中修复。