python中常犯的错误

1. x+=y和x=x+y

这两个式子看着结果是一样的,但是其中最后的结果却不一样

In [30]: x=[1]

In [31]: id(x)
Out[31]: 2176766739912

In [32]: x+=[2]

In [33]: id(x)
Out[33]: 2176766739912
In [35]: x=[1]

In [36]: id(x)
Out[36]: 2176766741128

In [37]: x=x+[2]

In [38]: id(x)
Out[38]: 2176766067144

由上可知,x+=y是返回的原对象,而x=x+y则返回的是一个新的对象

2. a=[[]]*10
In [46]: a=[[]]*10

In [47]: a
Out[47]: [[], [], [], [], [], [], [], [], [], []]

In [48]: a[0].append(10)

In [49]: a
Out[49]: [[10], [10], [10], [10], [10], [10], [10], [10], [10], [10]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值