brucep123 发表于 2017-6-22 22:02:12

小白关于列表的小问题看代码

>>> list1=[]
>>> list2=list1.append(1)
>>> list2
为什么执行结果是None?
中间那行代码分成两步写又可以?

thexiosi 发表于 2017-6-23 07:17:57

list2=list1.append(1),语法错误,这种格式的赋值,会生成None,请参考下面的执行结果。正确的用法是分开写:先append、再赋值

>>> list2 = list1.append(1)
>>> type(list2)
<class 'NoneType'>

>>> list1= list1.append(1)
>>> type(list1)
<class 'NoneType'>

ooxx7788 发表于 2017-6-23 09:06:28

list1 = []
list2 = list1
list2.append(1)
不过这种方法有问题的,修改list2的时候,list1是同时改变的,需要注意。如果两者是不相干的应该分别赋值。

brucep123 发表于 2017-6-23 22:14:15

非常感谢 原来是语法问题

thexiosi 发表于 2017-6-23 22:52:34

ooxx7788 发表于 2017-6-23 09:06
不过这种方法有问题的,修改list2的时候,list1是同时改变的,需要注意。如果两者是不相干的应该分别赋值 ...

谢谢 :) 学习啦

thexiosi 发表于 2017-6-23 22:53:08

ooxx7788 发表于 2017-6-23 09:06
不过这种方法有问题的,修改list2的时候,list1是同时改变的,需要注意。如果两者是不相干的应该分别赋值 ...

谢谢 :) 学习啦            
页: [1]
查看完整版本: 小白关于列表的小问题看代码