python的列表list赋值问题
一个变量接受列表赋值后,变量会跟随原列表的变化而变化。。
rate_list=[1,2,3,4]
copy_list=rate_list
rate_list.insert(0,1)
print(rate_list) #输出为[0,0,1,2,3,4]
print(copy_list) #输出也为[0,0,1,2,3,4]
因为没搞清楚这个原因,导致在编写list转化为二维的array函数时出现的了奇怪的情况。
这块是变量temp_list接受列表赋值后,对原本的ratelist改变进行insert操作,temp_list也会随之改变,可以发现程序是达到预期目的了,不会发生下标越界操作。
#函数将list转换成二维的数组,为了之后作为kemans函数参数。
#输入['4', '4', '3.5', '3', '5']
#输出[['4','4',], ['4','4'],['3.5','3.5'],['3','3'],['5','5']]
def list_transform_tdarray(ratelist):
i = 0
temp_list = ratelist #这里赋值给变量temp_list
upper = len(temp_list)
while i < upper*2:
ratelist.insert(i+1, temp_list[i]) #ratelist改变的话会导致temp_list一起改变
print("is i"