python - 反向函数也改变了原始列表
问题描述
我编写了函数,理论上应该可以正常工作,但是该函数似乎也在改变原始列表,我不希望原始列表反转,而是仅反向显示变量 a
def listreverse(list_input):
length = 0
list_swapped1 = list_input
for i in range(len(list_input)):
length += 1
swap = (length + 1) // 2
for i in range(swap):
temp1 = list_swapped1[0 + i]
temp2 = list_swapped1[(length - 1) - i]
list_swapped1[0 + i] = temp2
list_swapped1[(length - 1) - i] = temp1
return list_swapped1
mylist = [1, 2, 8, 4, 5]
a = listreverse(mylist)
print(a)
print(mylist)
输出
[5, 4, 8, 2, 1]
[5, 4, 8, 2, 1]
提前致谢