鱼C论坛

 找回密码
 立即注册
查看: 2940|回复: 6

[已解决]列表添加元素extend方法

[复制链接]
发表于 2021-5-19 15:20:57 | 显示全部楼层 |阅读模式

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

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

x
请教学友,如下代码:

A = [1,2,3,4]
B = [2,4,5,6]
C = A. extend(B)
type(C) = None

为什么?

如果是直接输入:A. extend(B), 则 A = [1, 2, 3, 4, 2, 4, 5, 6]

但是,如果是 C = A. extend(B) 或 A = A. extend(B), 则返回None!

这是为什么?
最佳答案
2021-5-20 15:05:55
Geeker_odd 发表于 2021-5-20 14:16
数列[1, 2, 3, 4, 2, 4, 5, 6]不是这个extend的返回值吗?

这个数列不能叫做返回值,而是进行扩列操作后的A数列
A.extend(B) 是一种操作行为,这个行为只改变A,这个行为本身不能作为结果 赋予 C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-19 16:07:03 | 显示全部楼层
本帖最后由 Peteryo01223 于 2021-5-19 16:09 编辑

extend() 是一个函数。C是一个变量。用A. extend(B), 赋值一个变量C,你是试图,把一个没有返回值、但会在已存在的列表中添加新的列表内容,的操作,赋值到一个变量上。所以,python懵了。

以下是可以的。
>>> A = [1,2,3,4]
>>> B = [2,4,5,6]
>>> A. extend(B)
>>> C = A
>>> type(C)
<class 'list'>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-20 09:19:35 | 显示全部楼层
谢谢!虽然不是太明白。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-20 11:31:02 | 显示全部楼层
extend这个方法是没有返回值的,所以A. extend(B)会返回None,也就是返回空的。所以C =A. extend(B)就是把A. extend(B)的结果(None)赋值给C,同理,A = A. extend(B)就是把 A. extend(B) 的结果(None)赋值给A。那A和C得到结果可想而知,就是None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-20 14:16:14 | 显示全部楼层
数列[1, 2, 3, 4, 2, 4, 5, 6]不是这个extend的返回值吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-5-20 15:05:55 | 显示全部楼层    本楼为最佳答案   
Geeker_odd 发表于 2021-5-20 14:16
数列[1, 2, 3, 4, 2, 4, 5, 6]不是这个extend的返回值吗?

这个数列不能叫做返回值,而是进行扩列操作后的A数列
A.extend(B) 是一种操作行为,这个行为只改变A,这个行为本身不能作为结果 赋予 C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-20 16:12:49 | 显示全部楼层
懂了!非常感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-9 01:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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