# 设,当前需求,处理打印张三12个月的排名情况 # 给定字典,将相关数据扩充到字典内 # 处理结束获取一个包含12个月排名情况的列表
不使用copy:
import random
def begin():
info = {
'name': '张三',
'age': 18,
}
parse(info)
def parse(info):
rank_list = []
for i in range(12):
month = i +1
rank = random.randint(1,10)
info['rank'] = rank
info['month'] = month
print(info)
rank_list.append(info)
for rank in rank_list:
print(rank)
if __name__ == '__main__':
begin()
可以看见在循环内正常打印,但是获取的list是被覆盖的,全是12月数据。
使用copy:
import random
def begin():
info = {
'name': '张三',
'age': 18,
}
parse(info)
def parse(info):
rank_list = []
for i in range(12):
info = info.copy()
month = i +1
rank = random.randint(1,10)
info['rank'] = rank
info['month'] = month
rank_list.append(info)
for rank in rank_list:
print(rank)
if __name__ == '__main__':
begin()
数据正常