从列表中删除项会导致列表变为非类型

Jos*_*err 12 python list nonetype

我想有一个我忽略的简单解决方案.比复杂的更好,对吧?

简单的说:

var = ['p', 's', 'c', 'x', 'd'].remove('d')
Run Code Online (Sandbox Code Playgroud)

导致var类型None.这里发生了什么?

Kev*_*vin 19

remove没有任何回报.它就地修改现有列表.不需要任务.

更换

var = ['p', 's', 'c', 'x', 'd'].remove('d') 
Run Code Online (Sandbox Code Playgroud)

var = ['p', 's', 'c', 'x', 'd']
var.remove('d') 
Run Code Online (Sandbox Code Playgroud)

现在var将有一个值['p', 's', 'c', 'x'].

  • 一般来说,Python 中几乎任何改变对象的方法都会返回“None”,或者至少返回“self”以外的东西。(例外大多是特殊情况,例如“__iadd__”,或者来自具有自己不同习惯用法的框架的特定于域的方法。) (2认同)