Python:从if语句条件中的列表中删除项目?

sec*_*ngo -1 python if-statement list

我有这个代码:

myList = [1, 2, 3, 4, 5]

if (myList.remove(4)):
    print "We removed 4, so this is true!"

print myList
Run Code Online (Sandbox Code Playgroud)

当我运行它时,这就是我得到的:

[1, 2, 3, 5]
Run Code Online (Sandbox Code Playgroud)

因此,似乎在if语句的条件中从列表中删除了"4",但if语句最终没有为"True",因为print语句没有打印到控制台.为什么if语句是假的?

raf*_*elc 6

myList.remove(4)没有返回TrueFalse取决于是否remove操作成功与否.

相反,它没有返回值(即None),如果成功,并引起了ValueError其他.

从而,

if mylist.remove(4):
Run Code Online (Sandbox Code Playgroud)

翻译成

if None:
Run Code Online (Sandbox Code Playgroud)

是的 False