关于append和extend两个方法,网上很多人说法如下:

append() 方法向列表的尾部添加一个新的元素。只接受一个参数。

extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

但是,关于extend只接受一个列表作为参数这种说法,深表怀疑。举个栗子:extend

>>>a= [1,2,3,4]

>>> a.extend(['a','b'])

>>> a

[1, 2, 3, 4, 'a', 'b']

append

>>> a.append(['a','b'])

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b']]

ok,这样我们追加了一个列表是没有问题的,换个元组可以么?append

>>> a.append((1,2,3))

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3)]

>>> a.extend((4,5,6))

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3), 4, 5, 6]

依然可以,元组也可以被extend接受,并且成功追加到list中,换字典呢?extend

>>> a.extend({1:'a',2:'b'})

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3), 4, 5, 6, 1, 2]

append

>>> a.append({7:'c',5:'d'})

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3), 4, 5, 6, 1, 2, {5: 'd', 7: 'c'}]

这里我们可以发现些许不同,extend的方式扩展列表参数为字典时,被追加到列表中的只有key,value并没有被追加进去;但是使用append这种方式扩展时,将整个字典作为一个值追加到列表中了

ok,以上是可变对象,如果我们换成字符串呢?extend

>>> a.extend('123456')

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3), 4, 5, 6, 1, 2, {5: 'd', 7: 'c'}, '1', '2', '3', '4', '5', '6']

append

>>> a.append('123456')

>>> a

[1, 2, 3, 4, 'a', 'b', ['a', 'b'], (1, 2, 3), 4, 5, 6, 1, 2, {5: 'd', 7: 'c'}, '1', '2', '3', '4', '5', '6', '123456']

也是可以的。

总结:

1、append和extend都可以接受各种类型数据,但是extend参数为字典时,只会追加key到列表中。

2、append和extend都只接受一个参数

3、append接受一个参数,追加到列表中在尾部只添加一个元素,也就是说你参数是什么,列表中就追加成什么。

4、extend接受一个参数,追加到列表中时是将参数中的每一个值都追加到列表中(字典例外)

附加help信息

Help on built-in function extend:

extend(...) method of builtins.list instance

L.extend(iterable) -> None -- extend list by appending elements from the iterable

并没有说extend的参数必须是列表。

从可迭代的元素追加延长列表

以上纯属个人实验结果,如有大神有更好的解释,请多多解答,谢谢!

python extend_也谈python列表append和extend的区别相关推荐

  1. 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别

    一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...

  2. Python实例浅谈--Python与C/C++相互调用

    转载链接:Python实例浅谈之三Python与C/C++相互调用_乌托邦2号的博客-CSDN博客_python 调用c++类 目录 一.问题 二.Python调用C/C++ 1.Python调用C动 ...

  3. Python基础教程:list中的append()和extend()方法区别

    一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...

  4. Python中append()与extend()的区别

    列表方法append()和extend()之间的差异: append:在最后追加对象 x = [1, 2, 3] x.append([4, 5]) print (x) 结果 [1, 2, 3, [4, ...

  5. [转载] python中append和extend函数区别

    参考链接: Python中的append和extend append和extend都是python内置函数,都有扩展列表的元素功能,但两者的扩展方式是不同的. 通过使用?list.append命令查看 ...

  6. python学习笔记:插入函数append,extend与insert的使用与区别

    python中的几个插入函数: append( )函数    函数功能:append( )函数是在列表末尾添加新的对象. 易错点:使用 append() 函数添加列表时,是添加列表的「引用地址」而不是 ...

  7. python之父叫什么-Python之父谈Python的未来形式

    6月初,Python之父Guido van Rossum在今天的PyCon US大会上作了名为"Python Language"的演讲.近日,他又接受了IT媒体Infoworld的 ...

  8. python bokeh_浅谈python可视化包Bokeh

    本文研究的主要是python可视化包Bokeh的相关内容,具体如下. 问题:需要把pandas的数据绘图并通过网页显示,matplotlib需要先保存图像,不合适. 解决:在网上搜了一下,找到一篇介绍 ...

  9. Python-list中的append()和extend()方法区别

    一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...

最新文章

  1. L309 单音节词读音规则(一)-辅音字母发音规则
  2. 回忆---中秋夜赴京城考OCP有感
  3. when is valid from and valid to filled in SAP IBASE buffer table
  4. ASP.NET Core如何限制请求频率
  5. Linux中的文件权限
  6. RFM模型——构建数据库营销的商业战役!(转)
  7. WEB架构师成长之路-摘录
  8. setsockopt用法详解
  9. 报错:Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfr
  10. G120变频器如何通过BOP-2操作面板或Startdrive复位出厂参数?
  11. 22:紧急措施http://noi.openjudge.cn/ch0107/22/
  12. Practical Python and OpenCV 3rd Edition读书笔记_Chapter8_Smoothing and Blurring平滑与模糊_思维导图
  13. 2019第十届蓝桥杯JAVA G组题解
  14. 神经网络、结构、权重和矩阵
  15. (C语言)实现strcpy
  16. 软考信息安全工程师笔记(第二章--密码学基础与应用)
  17. hive学习-问题解答一
  18. IPMItool: IPMI 管理工具
  19. 三星Samsung SCX-4726FN 驱动
  20. 一文搞懂BPE分词算法

热门文章

  1. 2020T电梯修理证考试及T电梯修理考试试题
  2. MaaS(模型即服务)的发展背景、行业现状及未来趋势(本文以ppt介绍)
  3. python 判断多边形,点是否重合(方法简单易懂,没有使用 cv2.pointPolygonTest函数)
  4. 纯净版quartz定时任务【maven】-xjh测试---https://www.cnblogs.com/lulf/p/7089364.html
  5. 飞腾CPU体系结构(二)
  6. 【蓝桥杯】 算法训练 回文数
  7. 第六篇、基于Arduino uno,控制180度舵机(SG90)转动——结果导向
  8. 代理服务器设置全局环境
  9. 霍格沃兹全国测试开发火焰杯专业人才大赛
  10. 港科夜闻|第11次EMBA排名全球第一!!香港科大与凯洛格合办的Kellogg-HKUST EMBA课程再登全球首位...