python 的 append 和 extend

在python中,存在着对一个List的append方法 和 extend 方法,此处对两种方法的不同做一点演示

>>> test = [1, 2.0,'adb']
>>> test.extend(['e','f'])
>>> test
[1, 2.0, 'adb', 'e', 'f']
>>> test2 = test[:]
>>> test2
[1, 2.0, 'adb', 'e', 'f']
>>> test2.append([2,3,4])
>>> test2
[1, 2.0, 'adb', 'e', 'f', [2, 3, 4]]
>>> len(test2)
6
>>> test2[-1]
[2, 3, 4]
>>> test.extend('hh')
>>> test
[1, 2.0, 'adb', 'e', 'f', 'h', 'h']
>>> test.extend(['gg'])
>>> test
[1, 2.0, 'adb', 'e', 'f', 'h', 'h', 'gg']
>>> test2.extend('hh')
>>> test2
[1, 2.0, 'adb', 'e', 'f', [2, 3, 4], 'h', 'h']
>>> test2.append('hh')
>>> test2
[1, 2.0, 'adb', 'e', 'f', [2, 3, 4], 'h', 'h', 'hh']
>>> test2.append((1,2))
>>> test2
[1, 2.0, 'adb', 'e', 'f', [2, 3, 4], 'h', 'h', 'hh', (1, 2)]
>>> 

简要说明:

  • List的append(追加)与extend(扩展),给人感觉都是对一个List元素的添加,但通过以上可以看出,是存在着差别的。
  • extend方法的参数是一个List,扩展之后,是把添加的List的元素 分别 放到原List后面。
  • append方法的参数则没有过多要求(可以为序列,元祖之类),所添加的参数看成一个整体,添加到原List的后面。
  • 由此可见,对于想把两个序列合并到一起,序列元素个体为单位时,要用extend方法。

原文地址:https://www.cnblogs.com/f8master/p/3826081.html