对于列表的=+与+=要区别对待
my_list = [1, 2, 3] print(id(my_list)) my_list += [4, 5] # 等同于my_list.extend([4, 5]) print(id(my_list)) my_list = my_list + [6, 7] print(id(my_list))
/usr/local/bin/python3.7 /Users/shijianzhong/study/t_list.py 4480172512 4480172512 4482151040
l += [1,2] 等同于extend扩展列表,变量名所对应的对象id一样,同一个
l += l + [1,2]相当于l与[1,2]相加产生一个新的列表赋值给l,原来的l被覆盖了,所以现在的l指向的是新的对象。