鱼C论坛

 找回密码
 立即注册
查看: 2716|回复: 3

extend与append具体用法困惑

[复制链接]
发表于 2016-2-3 10:41:46 | 显示全部楼层 |阅读模式

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

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

x
在小甲鱼“零基础入门学习python”视频教程课后习题第12课第5题中有:
list1 = []
for x in range(10):
list1.append(x**2)
输出结果为:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
但是若将append替换为“extend”即:
list1 = []
for x in range(10):
list1.extend(x**2)
输出结果报错,为:
Traceback (most recent call last):
  File "<pyshell#166>", line 2, in <module>
    list1.extend(x**2)
TypeError: 'int' object is not iterable
请问为什么会这样?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-3 11:00:28 | 显示全部楼层
extend 只能传一个列表
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-3 15:52:34 | 显示全部楼层
append  加的是一个元素
extend 加的是一个列表  当做一个整体加入的

for x in range(10):
这个每次出来的x  都只是一个元素  并不是一个列表
所以你用extend去加的时候 就报错了
listx.extend([1])   这样才是对的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-4 23:27:00 | 显示全部楼层
阿狸爱吃鱼 发表于 2016-2-3 15:52
append  加的是一个元素
extend 加的是一个列表  当做一个整体加入的

谢谢你的解答,完美的解决了我的困惑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-19 13:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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