Python List中的append和extend

      最近,在阅读Scrapy的源码的时候,看到有关list方法append和extend的使用。初一看,还是有些迷糊的。那就好好找点资料来辨析一下吧。

      stackoverflow中的回答是这样的:

      append:在尾部追加对象(Appends object at end)

C:\Users\sniper.geek>python2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> x =[1,2,3]
>>> x.append([4,5])
>>> print x
[1, 2, 3, [4, 5]]
>>>

      对于append,是否可以只追加一个元素呢?试试看:

C:\Users\sniper.geek>python2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=[1,2,3]
>>> x.append(5)
>>> print x
[1, 2, 3, 5]
>>>

      那是否可以追加一个元组呢?继续试试:

C:\Users\sniper.geek>python2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=[1,2,3]
>>> x.append(5)
>>> print x
[1, 2, 3, 5]
>>> x.append((6,7,8))
>>> print x
[1, 2, 3, 5, (6, 7, 8)]
>>>

      综上可知,append可以追加一个list,还可以追加一个元组,也可以追加一个单独的元素。

      extend:通过从迭代器中追加元素来扩展序列(extends list by appending elements from the iterable)

C:\Users\sniper.geek>python2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=[1,2,3]
>>> x.extend([4,5])
>>> print x
[1, 2, 3, 4, 5]
>>>

      那么,extend的参数是否可以为list或者元组呢?试一试:

C:\Users\sniper.geek>python2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=[1,2,3]
>>> x.extend([4,5,6])
>>> print x
[1, 2, 3, 4, 5, 6]
>>> x.extend((8,9,10))
>>> print x
[1, 2, 3, 4, 5, 6, 8, 9, 10]
>>>

      综上可知:extend的参数除了为单个元素,也可以为list或者元组。

      总结:      

  1. append和extend都仅只可以接收一个参数      
  2. append的参数类型任意,如上面所示的单个元素,list乃至元组都行      
  3. extend的参数可以为单个元素,也可以包含有迭代器属性的list,元组      
  4. append是把对象作为一个整体追加到list后面的,extend是把list或者元组的元素逐个加入到list中,也就是说append追加一个list或者元组的话,最后一个元素本身是一个list或者元组,而extend扩展一个list或者元组的话,list中的元素逐个加入,最后得到的是一个变长的list。
时间: 2024-07-29 22:40:08

Python List中的append和extend的相关文章

Python3-list中的append()和extend()方法区别

Python3-list中的append()和extend()方法区别 一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时候会把添加的数据迭代进行添加,只允许添加可迭代对象数据(可迭代对象: 能用for循环进行迭代的对象就是可迭代对象, 比如:字符串,列表,元祖,字典,集合等等 ) 二.append()方法的使用(会把对象整体添加到列表后): 1.

python中List append()、extend()和insert()的区别

Python中向列表增加更多数据时,有append().extend()和insert()等方法 其中最常用的是list.append(obj) 向列表的尾部添加一个新的元素. 需要一次性添加多个元素时可以使用list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 示例及结果如下: 1 list = [1,2,3,4] 2 list.append([5,6,7]) 3 print(list) 4 list.extend([8,9,10]) 5 pri

python: the difference between append and extend

Data Analysis: indoor localization using received signal strength (RSS) An error about list operation in python: append and extend elements We define a list A to storage objects, which the length is unknown, and list B and C to storage the final resu

python(6)=============python中的append() 和 extend()

1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型. 2.  append() 方法向列表的尾部添加一个新的元素.只接受一个参数.3.  extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. http://www.jb51.net/article/35013.htm 原文地址:https://www.cnblogs.com/zcmdxj/p/8283296.html

Python合并列表,append()、extend()、+、+=

在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别 1.append()  向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加 2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加 3.+  直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上 4.+= 效果与extend()

Python中 append 和 extend 的区别

Python中Lists 的两个方法: append 和 extend : list.append(object) 向列表中添加一个对象object.append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 list 的尾部.list.extend(sequence) 把一个序列seq的内容添加到列表中.extend 接受一个参数,这个参数总是一个 list,并且把这个 list 中的每个元素添加到原 list 中. 原文地址:https://www.cnblogs.com/sh

python list中append()与extend()用法

列表是以类的形式实现的."创建"列表实际上是将一个类实例化.因此,列表有多种方法可以操作. 1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型. 2. append() 方法向列表的尾部添加一个新的元素.只接受一个参数. 3. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. append()用法示例: mylist = [1,2,0,'abc'] mylist [1, 2, 0, 'abc'] mylist.append(4)

也谈python列表append和extend的区别

关于append和extend两个方法,网上很多人说法如下: append() 方法向列表的尾部添加一个新的元素.只接受一个参数. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. 但是,关于extend只接受一个列表作为参数这种说法,深表怀疑.举个栗子: extend >>>a= [1,2,3,4] >>> a.extend(['a','b']) >>> a [1, 2, 3, 4, 'a', 'b'] appe

Python数组append、extend、insert

向列表中添加元素 append() 只能添加一个 例 member ['Hello','您好','小家','542','快乐'] member.append('加一个') member ['Hello','您好','小家','542','快乐','加一个'] extend() 可包含一个列表 例 member.extend(['太阳','月亮']) member ['Hello','您好','小家','542','快乐','加一个','太阳','月亮'] insert() 第一个参数代表在列表中