test_list = [
    {'data': 1, 'no': 301},
    {'data': 2, 'no': 401},
    {'data': 4, 'no': 201},
    {'data': 6, 'no': 101},
    {'data': 5, 'no': 303}
]

new_list = list(test_list)
# print(new_list)

for match in test_list:
    if match['no'] > 300:
        match['no'] = 'BF'
    else:
        match['no'] = 'BR'

# print(test_list)

new_list[1]['data'] = 7
new_list.pop()

print(test_list)
print(new_list)
            
          

为什么结果不一样?

原因:
python笔试陷阱1_第1张图片
dict()也同样