python中append和extend的区别

从两个角度来说:
1、append可以追加一个list,一个对象;
extend则是把两个list连接起来,类似matlab的cat函数。

NumList1 = [1,2,3]
NumList2 = ['a','b','c']
NumList1.append(NumList2)
print("列表2append到列表1:",NumList1)
print('第四个元素为',NumList1[3])
NumList1 = [1,2,3]
NumList1.extend(NumList2)
print("列表2extend到列表1:",NumList1)

输出结果为:
列表2append到列表1: [1, 2, 3, [‘a’, ‘b’, ‘c’]]
第四个元素为 [‘a’, ‘b’, ‘c’]
列表2extend到列表1: [1, 2, 3, ‘a’, ‘b’, ‘c’]

2、对于拷贝的角度,append引用的是追加对象的地址;extend是直接复制第二个数组的值,创建了新的存储空间。

NumList1 = [1,2,3]
NumList2 = ['a','b','c']
NumList1.append(NumList2)
NumList2[0] = '更改第一个元素'
print('拷贝问题',NumList1)
NumList1 = [1,2,3]
NumList2 = ['a','b','c']
NumList1.extend(NumList2)
NumList2[0] = '更改第一个元素'
print('拷贝问题',NumList1)

输出结果为:
拷贝问题 [1, 2, 3, [‘更改第一个元素’, ‘b’, ‘c’]]
拷贝问题 [1, 2, 3, ‘a’, ‘b’, ‘c’]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值