【Python】列表方法“+”与“extend()”区别

列表是 python 常见的数据结构类型
用于在列表后追加一个数据有“append()”方法
用于在列表后追加多个数据有“+”和“extend()”两种方法
下面介绍“+”和“extend()”这两种方法的异同:

1 extend() 方法
a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))

# extend()方法
a.extend(b)
print("extend: a =",a)
print("extend: a id =",id(a))

# 结果
>> a id : 139646799147568
>> b id : 139646799150128
>> extend: a = [1, 2, 3, 4, 5, 6]
>> extend: a id = 139646799147568

可见,列表的extend()方法能够把 b 列表中多个元素追加到 a 里面,而不改变 a 的 id

2 列表加法

a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))

# +
a += b
print("+: a =",a)
print("+: a id =",id(a))

# 结果
>> a id : 140080409711152
>> b id : 140080409713712
>> +: a = [1, 2, 3, 4, 5, 6]
>> +: a id = 140080409711152

可见,列表的加法方法能够实现相同的功能,也不改变 a 的 id

3 注意事项

网上其他博客可能会说 列表加法 的追加方式会改变 id
请注意,这是由于他们的实例引入了新的列表,如下所示

a = [1,2,3]
b = [4,5,6]
c = []
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))

# +
c = a + b
print("a =",a)
print("b =",b)
print("c =",c)
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))

>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669314064
>> a = [1, 2, 3]
>> b = [4, 5, 6]
>> c = [1, 2, 3, 4, 5, 6]
>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669289248

可见,c 最开始被初始化为空列表
通过赋值后,id 改变,这才是网上其他帖子未说明的原因

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值