字典中想把point循环加3却不行?

img

这种打出来每个字典point都是13,不能够依次递进成13 16 19 22 25这种
家人们舅舅孩子吧

因为你扔的是同一个索引
你再加一句sum不就好了。
sum = 0
for j in range(0,5)
sum +=3;

img


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) 即可