0
点赞
收藏
分享

微信扫一扫

Python: list.append、list.extend 与 list.__iadd__ 的不同之处


append 是把任何传入的参数当作一个元素来插入

extend 和 __iadd__ 方法都是将可迭代的对象追加到列表后面,可能拆分成多个元素

extend 和 __iadd__ 方法的不同之处在于 __iadd__ 是有返回值的,它返回一个新的列表,extend则是对一个列表的处理方法,没有返回值,或者说返回值是None

第一段代码:

a = [1, 2, 3]
b = ['mac', 'python']
c = 'linux'

a.append(b)
a.append(c)
print(a)
a = [1, 2, 3]
a.extend(b)
a.extend(c)
print(a)
a = [1, 2, 3]
a.__iadd__(b)
a.__iadd__(c)
print(a)

执行结果是:

[1, 2, 3, ['mac', 'python'], 'linux']
[1, 2, 3, 'mac', 'python', 'l', 'i', 'n', 'u', 'x']
[1, 2, 3, 'mac', 'python', 'l', 'i', 'n', 'u', 'x']

第二段代码:

a = [1, 2, 3]
b = ['mac', 'python']
c = 'linux'

a.append(b)
a.append(c)
print(a)
a = [1, 2, 3]
a.extend(b)
print(a.extend(c))
a = [1, 2, 3]
a.__iadd__(b)
print(a.__iadd__(c))

执行结果是:

[1, 2, 3, ['mac', 'python'], 'linux']
None
[1, 2, 3, 'mac', 'python', 'l', 'i', 'n', 'u', 'x']

举报

相关推荐

0 条评论