我在Python中有一个小程序。我创建了列表,并将其作为函数参数传递。根据我的说法,它应该输出为1 2 3 4 5.但是它给了我5 2 3 4 5
作为输出。如果我只是在for循环中写'pass'关键字那么它就不应该做任何事情。那么为什么要改变我的输出呢?
这是我的代码:
def fun1(list1):
for list1[0] in list1:
pass
list2=[1,2,3,4,5]
fun1(list2)
print(list2)
答案 0 :(得分:2)
您的for
循环将循环变量list1[0]
设置为列表list1
中的每个值。完成后,循环变量包含其在上一次迭代中的值,在本例中为5
。如果您不希望循环产生这种奇怪的副作用,请不要使用现有变量(如list1[0]
)作为循环变量。我以前从未见过有人这样做过:这是一件很奇怪的事情。