Python如何在列表中传递关键字更改值?

时间:2016-08-20 14:40:47

标签: python

我在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)

1 个答案:

答案 0 :(得分:2)

您的for循环将循环变量list1[0]设置为列表list1中的每个值。完成后,循环变量包含其在上一次迭代中的值,在本例中为5。如果您不希望循环产生这种奇怪的副作用,请不要使用现有变量(如list1[0])作为循环变量。我以前从未见过有人这样做过:这是一件很奇怪的事情。