Python中append和+以及extend的区别

当我我们在使用List的扩展操作时候,常常会用到append方法和+运算符,不注意他们之间的区别常常会导致错误,下面举例说明他们的错误
1)append:
s1 = [1,2,3]
s2 = [4]
s1.append(s2)
s1.append({'1':'2'})
print(s1)

输出如下

[1,2,3,[4],{'1':'2'}]
  1. 使用append相当把整个s2当做List中的元素的内容,相当于把[s2]添加到了s1中。如果用print(s1.append(s2))输出的为None;用test =s1.append(s2)在print(s2)得到还是None,因为append操作是在原List上的修改,不会返回一个新的值
  2. append 操作可以向List中添加任何元素,比如字典,不过字典整体作为List中的一个元素(比如上面字典的{})
2)+运算:
s1 = [1,2,3]
s2 = [4]
print(s1+s2)

结果如下

[1,2,3,4]

+运算是对于两个类型相同的变量之间的运算,不改变原有的变量,并返回一个新的值,是内容之间的拼接

3)extend:
s1 = [1,2,3]
s2 = [4]
s1.extend(s2)
print(s1)
s3 = 'abc'
s1.extend(s3))
print(s1)
s4 = {'age':12,'height':180}
s1.extend(s4)
print(s1)

输出如下:

[1, 2, 3, 4]
[1, 2, 3, 4, 'a', 'b', 'c']
[1, 2, 3, 4, 'a', 'b', 'c', 'height', 'age']

extend 也是在原有List上进行修改,没有返回值,可以扩展不同类型的变量,并将其内容以List变量的形式加入到原List中。
从输出中可见如果extend的是字符串,则字符串会被拆分成字符数组,如果extend的是字典,则字典的key会被加入到List中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值