Python 3 - 在某些情况下可以用 for 循环更改正在循环的容器吗?
Pyhton 3 - are there cases where it's OK to alter the container you're looping on with a for loop?
在下面的代码中,我将一个未知数量的内部列表列表传递给一个函数,该函数对每个内部列表进行排序,然后压缩列表和 returns 压缩对象列表。
def myZip (LS):
for i in LS:
i.sort()
return list(zip(*LS))
L1=[3,1,2]
L2=[5,6,4]
L3=['a','b','c']
print(myZip([L1, L2, L3]))
我知道改变循环播放的容器不是个好主意。我的问题是这是否也适用于我在这里描述的情况?
您的问题的答案是否定的...我的意思是总是有例外,但答案仍然是否定的;这不是一个好主意,也不可接受。
现在,您在回答 问题 后输入的内容的答案完全可以接受,等等。因为 你不是没有给出一个改变你正在循环的 container
的例子;相反,您正在更改该列表中的项目 - 这确实非常标准。
在下面的代码中,我将一个未知数量的内部列表列表传递给一个函数,该函数对每个内部列表进行排序,然后压缩列表和 returns 压缩对象列表。
def myZip (LS):
for i in LS:
i.sort()
return list(zip(*LS))
L1=[3,1,2]
L2=[5,6,4]
L3=['a','b','c']
print(myZip([L1, L2, L3]))
我知道改变循环播放的容器不是个好主意。我的问题是这是否也适用于我在这里描述的情况?
您的问题的答案是否定的...我的意思是总是有例外,但答案仍然是否定的;这不是一个好主意,也不可接受。
现在,您在回答 问题 后输入的内容的答案完全可以接受,等等。因为 你不是没有给出一个改变你正在循环的 container
的例子;相反,您正在更改该列表中的项目 - 这确实非常标准。