python extend_也谈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']
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的区别相关推荐
- 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别
一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...
- Python实例浅谈--Python与C/C++相互调用
转载链接:Python实例浅谈之三Python与C/C++相互调用_乌托邦2号的博客-CSDN博客_python 调用c++类 目录 一.问题 二.Python调用C/C++ 1.Python调用C动 ...
- Python基础教程:list中的append()和extend()方法区别
一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...
- Python中append()与extend()的区别
列表方法append()和extend()之间的差异: append:在最后追加对象 x = [1, 2, 3] x.append([4, 5]) print (x) 结果 [1, 2, 3, [4, ...
- [转载] python中append和extend函数区别
参考链接: Python中的append和extend append和extend都是python内置函数,都有扩展列表的元素功能,但两者的扩展方式是不同的. 通过使用?list.append命令查看 ...
- python学习笔记:插入函数append,extend与insert的使用与区别
python中的几个插入函数: append( )函数 函数功能:append( )函数是在列表末尾添加新的对象. 易错点:使用 append() 函数添加列表时,是添加列表的「引用地址」而不是 ...
- python之父叫什么-Python之父谈Python的未来形式
6月初,Python之父Guido van Rossum在今天的PyCon US大会上作了名为"Python Language"的演讲.近日,他又接受了IT媒体Infoworld的 ...
- python bokeh_浅谈python可视化包Bokeh
本文研究的主要是python可视化包Bokeh的相关内容,具体如下. 问题:需要把pandas的数据绘图并通过网页显示,matplotlib需要先保存图像,不合适. 解决:在网上搜了一下,找到一篇介绍 ...
- Python-list中的append()和extend()方法区别
一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...
最新文章
- L309 单音节词读音规则(一)-辅音字母发音规则
- 回忆---中秋夜赴京城考OCP有感
- when is valid from and valid to filled in SAP IBASE buffer table
- ASP.NET Core如何限制请求频率
- Linux中的文件权限
- RFM模型——构建数据库营销的商业战役!(转)
- WEB架构师成长之路-摘录
- setsockopt用法详解
- 报错:Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfr
- G120变频器如何通过BOP-2操作面板或Startdrive复位出厂参数?
- 22:紧急措施http://noi.openjudge.cn/ch0107/22/
- Practical Python and OpenCV 3rd Edition读书笔记_Chapter8_Smoothing and Blurring平滑与模糊_思维导图
- 2019第十届蓝桥杯JAVA G组题解
- 神经网络、结构、权重和矩阵
- (C语言)实现strcpy
- 软考信息安全工程师笔记(第二章--密码学基础与应用)
- hive学习-问题解答一
- IPMItool: IPMI 管理工具
- 三星Samsung SCX-4726FN 驱动
- 一文搞懂BPE分词算法
热门文章
- 2020T电梯修理证考试及T电梯修理考试试题
- MaaS(模型即服务)的发展背景、行业现状及未来趋势(本文以ppt介绍)
- python 判断多边形,点是否重合(方法简单易懂,没有使用 cv2.pointPolygonTest函数)
- 纯净版quartz定时任务【maven】-xjh测试---https://www.cnblogs.com/lulf/p/7089364.html
- 飞腾CPU体系结构(二)
- 【蓝桥杯】 算法训练 回文数
- 第六篇、基于Arduino uno,控制180度舵机(SG90)转动——结果导向
- 代理服务器设置全局环境
- 霍格沃兹全国测试开发火焰杯专业人才大赛
- 港科夜闻|第11次EMBA排名全球第一!!香港科大与凯洛格合办的Kellogg-HKUST EMBA课程再登全球首位...