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方法。