小白求助,为什么这样弄list3没有赋值,反而list2改变了
>>> list2 = ['q','w','e','r','t']>>> list2
['q', 'w', 'e', 'r', 't']
>>> list3 = list2.extend()
>>> list3
>>> list2
['q', 'w', 'e', 'r', 't', 4, 5, 6]
>>>
list3 = list2.extend()
其中:
extend是对list2的操作,而这一操作没有返回值
所以你看到的结果就是,list3依旧为空,list2变化了
Python 的列表绝大多数方法是在原列表上进行改变且没有返回值
例如 extend()、append()、remove() 等没有返回值,但是 pop() 函数有返回值哈
当 Python 的函数或者方法没有返回值时候, Python 会默认返回一个None
所以这里list2.extend() 返回的是一个 None ,而 list3 =list2.extend() 即 list3 = None
本帖最后由 9799570 于 2020-11-13 22:53 编辑
list2.extend()!= list2
list2.extend()= none
事实上已经赋值了。。。
>>> l1=
>>> l1=l1.extend ()
>>> l1
>>> 列表属于可修改对象,大多数可修改对象的方法都是直接对对象自身进行操作,使对象的内容或状态发生改变,因此,一般都没有返回值。
页:
[1]