在py中宇整,對象的賦值并不會copy 對象,而是增加對象的引用床牧,如果確實需要copy财喳,引用copy.copy/copt.deepcopy
例子:
lis=['a','b','c']
list1=[{'a':'1'},{'a':'2'},{'a':'3'}]
for i in list1:
i['a']=i['a']+'_5'
print i
print list1
import copy
list2=[{'a':'1'},{'a':'2'},{'a':'3'}]
for i in list2:
j=copy.copy(i)
j['a']=j['a']+'_5'
print j
print list2
執(zhí)行結果
{'a': '1_5'}
{'a': '2_5'}
{'a': '3_5'}
[{'a': '1_5'}, {'a': '2_5'}, {'a': '3_5'}]
{'a': '1_5'}
{'a': '2_5'}
{'a': '3_5'}
[{'a': '1'}, {'a': '2'}, {'a': '3'}]