李万金 发表于 2020-8-6 22:33:56

python 列表insert的相关问题

我新建了一个列表a,执行这部操作a = a.insert(0,1)后,a怎么什么都没了,变成了none。我完整操作在下面的图里。(今天在做编程题的,代码老是出错,花了很久才知道是这步出错了,求大佬指点

baige 发表于 2020-8-6 22:35:29

本帖最后由 baige 于 2020-8-6 22:47 编辑

insert()方法没有返回值,没有返回值,a就被赋值为None
除了count、index、copy、pop外其他的方法都没有返回值,

sunrise085 发表于 2020-8-6 22:41:39

列表的很多操作是没有返回值的,包括insert、append、sort等

李万金 发表于 2020-8-6 22:50:04

baige 发表于 2020-8-6 22:35
insert()函数没有返回值,函数没有返回值,a就被赋值为None

我刚刚搜了点资料,思考了一会儿,又有了个疑问。a.insert后a不是变成一个新列表吗,列表不是能进行赋值的吗?insert操作后把它赋值给另一个列表不可行吗?(纯萌新)

baige 发表于 2020-8-6 22:53:32

李万金 发表于 2020-8-6 22:50
我刚刚搜了点资料,思考了一会儿,又有了个疑问。a.insert后a不是变成一个新列表吗,列表不是能进行赋值 ...

这个是把insert()方法的返回值赋值给a,而不是把新列表赋值给a

李万金 发表于 2020-8-6 22:57:29

baige 发表于 2020-8-6 22:53
这个是把insert()方法的返回值赋值给a,而不是把新列表赋值给a

赋值操作是赋的返回值吗?比如a = b + c ,给a的是b + c 的返回值吗?

baige 发表于 2020-8-6 22:58:54

李万金 发表于 2020-8-6 22:57
赋值操作是赋的返回值吗?比如a = b + c ,给a的是b + c 的返回值吗?

a = b + c这个是表达式,表达式的话,把计算结果赋值给a,

baige 发表于 2020-8-6 23:00:32

你下面的做法直接调用insert()去更新a就行

baige 发表于 2020-8-6 23:01:07

函数的话才有返回值

李万金 发表于 2020-8-6 23:02:10

baige 发表于 2020-8-6 22:58
a = b + c这个是表达式,表达式的话,把计算结果赋值给a,

谢谢,大概懂了{:10_277:}
页: [1]
查看完整版本: python 列表insert的相关问题