python小常识——list 赋值的区别(x+=y)和(x=x+y)

列表list是可以修改的,如果用的是+=,我们是在原来的基础上修改,如果改用var=var+···,我们就创建了一个新的list对象。代码如下:

1
2
3
4
5
6
7
8
list = []
print 'ID:',id(list)
list += [1]
print 'ID:',id(list)
list = list + [1]
print 'ID:',id(list)

结果如下:
img

可以看到的是,前两个是同一个对象,第三个是新创建的对象
题外话:.append()和.extends()方法都是在原来的list基础上进行修改的。

1
2
3
4
5
6
7
8
list = []
print list,'nID(initial)',id(list),'n'
list.append(1)
print list,'nID(append)',id(list),'n'
list.extend([2])
print list,'nID(extend)',id(list),'n'

结果如下:
img