这种打出来每个字典point都是13,不能够依次递进成13 16 19 22 25这种
家人们舅舅孩子吧
因为你扔的是同一个索引
你再加一句sum不就好了。
sum = 0
for j in range(0,5)
sum +=3;
a = {'color':'green','point':10,'speed':'slow'}
b = []
for i in range(5):
b.append(a.copy())
print(b)
for j in range(5):
b[j]['point'] = b[j]['point'] + 3*(j+1)
print(b[j]['point'])
print(b)
首先,第一个问题,你再 append 到数组时,附加的是同一个对象,他的地址相同,当任意数组下标元素修改时,其他元素一同修改,所以应该 append 一个复制的新对象
然后,你能正常打印出数列,但结果集不对,原因同上,但用了新对象后,需要修正下算法,+3*(j+1) 即可