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']