鱼C论坛

 找回密码
 立即注册
查看: 2468|回复: 7

[已解决]append和extend的区别?

[复制链接]
发表于 2017-3-5 00:13:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我们都知道append方法跟extend方法:
0.append方法是将参数当做一个元素加入到列表的末尾
1.extend方法再则是将参数当做一个列表扩张列表加入到列表的末尾







我的问题是如果是同一个元素,append这种将元素加入到列表的末尾跟extend的将一个列表扩张列表加入到列表的末尾的结果是不是一样的?
还是说append跟extend加入到列表的末尾的东西不一样?
就是说用着两种不同的方法,然后结果是不是不一样还是一样的?
最佳答案
2017-3-5 10:51:01
append是追加,extend是扩展。
列表能包含各种对象,append(object), 他会原封不动的把object追加到列表里,
  1. testList = []
  2. testList.append('fishc')
复制代码

想必都知道testList此时为 ['fishc'] ,
那如果用extend呢。
  1. testList.extend('fishc')
复制代码

刮开看答案:
['f', 'i', 's', 'h', 'c']
没错,感觉上就是迭代这个对象然后挨个append(具体是不是这样实现的我也不清楚,不过效果一样).
所以extend要求的是一个可迭代对象。

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-5 09:12:27 | 显示全部楼层
结果是一样的,但是输入的参数方法不同,例如:list1=[1,3,2,9],list1.append(5)显示的结果是[1,3,2,9,5]
而使用extend,就必须是list1.extend([5]),若使用list1.extend(5)就会报错!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 09:38:06 | 显示全部楼层
楼上说的没错
而且extend可以加多个
append只能加一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 10:04:18 | 显示全部楼层
append是增加元素,extend是增加一个列表
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 10:51:01 | 显示全部楼层    本楼为最佳答案   
append是追加,extend是扩展。
列表能包含各种对象,append(object), 他会原封不动的把object追加到列表里,
  1. testList = []
  2. testList.append('fishc')
复制代码

想必都知道testList此时为 ['fishc'] ,
那如果用extend呢。
  1. testList.extend('fishc')
复制代码

刮开看答案:
['f', 'i', 's', 'h', 'c']
没错,感觉上就是迭代这个对象然后挨个append(具体是不是这样实现的我也不清楚,不过效果一样).
所以extend要求的是一个可迭代对象。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 14:33:45 | 显示全部楼层
如果是单个元素的,那就一样,如果是多个元素的,那就不一样了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 15:15:50 | 显示全部楼层
补充一下,如果追加的是同一个列表元素,那结果是不一样的,比如说:
append:
L=[1,2,3,4,5]
L2=[6]
L.append(L2)  #结果为[1,2,3,4,5,[6]]
extend:
L=[1,2,3,4,5]
L2=[6]
L.extend(L2)  #结果为[1,2,3,4,5,6]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-5 17:03:18 | 显示全部楼层
好,谢谢大家
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-25 19:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表