list 的list 乘以一个数,后面每个子list更新时都会复制,因为他们的id一样。见代码:
def mk1() :
a1 = [[]]*2
a2 = [[],[] ]
print( 'a1' , a1 )
print( 'a2' , a2 )
print( 'id', id(a1[0]) , id(a1[1]) )
a1[0].append(19)
a2[0].append(119)
print( 'a1_' , a1 )
print( 'a2_' , a2 )
print( 'id_', id(a1[0]) , id(a1[1]) )
a3=[1,2,3]*2
print('a3' , a3 )
a3.append(56)
print('a3_' , a3 )
mk1()
'''
a1 [[], []]
a2 [[], []]
id 51800328 51800328
a1_ [[19], [19]]
a2_ [[119], []]
id_ 51800328 51800328
a3 [1, 2, 3, 1, 2, 3]
a3_ [1, 2, 3, 1, 2, 3, 56]
'''