我四处寻找有关这种循环的信息:
listOfStrings = ["hey", "I", "am","still", "here"]
listOfStringsCopy = ["hey", "I", "am", "still", "here"]
for i in range(len(listOfStrings)):
listOfStrings[i] = "something else"
for word in listOfStringsCopy:
word = "something else"
print(listOfStrings, listOfStringsCopy)
返回:
['something else', 'something else', 'something else', 'something else', 'something else']
['hey', 'I', 'am', 'still', 'here']
我现在才开始明白为什么这个特殊的(for word in)循环在您试图对循环的列表执行任何操作时似乎是完全无效的。我记得我在某个地方读到过这样一篇文章,每一个循环都会复制一份列表或者其他什么,但是却找不到任何具体的东西。你知道吗
首先,我是否正确地引用了这种循环?我在python上运行的第二个for循环是“for each循环”吗?尽管上面的第一个循环的语法非常相似?你知道吗
第二,有人能解释一下为什么会这样吗?当我尝试使用除键/字典进程之外的列表时,是否应该坚持常规的第一个循环?你知道吗
我读过可能重复的问题,它回答了我的问题,每当我需要修改列表中的项目时,我需要循环索引,不过,我还是想知道,在循环索引的循环和循环列表元素的循环之间,是否有任何语言上的描述,就像在我的第二个循环中一样。
第二个回路:
不是修改现有的列表,因为您实际上是在重新绑定变量,即
word
,而不是修改列表,这显然是我们希望它工作的方式。你知道吗这相当于:
现在,y不是指列表x的第一个元素,而是指字符串“something other”。你知道吗
相关问题 更多 >
编程相关推荐