Python的List中的append和extend的相同点和区别

Python的List中的append和extend的相同点和区别:

一、stackoverflow中的回答是这样的:

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

1、

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

>>>

2、 

对于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]

>>>

   

3、

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

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

>>>

4、    

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

     

二、

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

1、

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]

>>>

     

2、

那么,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]

>>>

3、

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

三、总结:      

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

#############################################################################

鸣谢:特别感谢所有在CSDN等网站热爱技术、乐于分享的工程师们。

说明:本文只是个人学习之用。

#############################################################################

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值