Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 方法list.pop返回None,而不是预期的值_Python_Python 3.x - Fatal编程技术网

Python 方法list.pop返回None,而不是预期的值

Python 方法list.pop返回None,而不是预期的值,python,python-3.x,Python,Python 3.x,我刚刚尝试了这个方法。pop()在文档中说它应该“删除列表中给定位置的项,然后返回它。” 因此,我尝试了以下代码: def lao(li, i): guess=input('Have a guess: ') if guess == li[i]: li.pop(i) ho=list('abcde') 我想看看lao(ho,0)是否像我想象的那样返回并删除了“a”,事情就是这样的: >>> print(lao(ho, 0)) Have a gue

我刚刚尝试了这个方法。pop()在文档中说它应该“删除列表中给定位置的项,然后返回它。”

因此,我尝试了以下代码:

def lao(li, i):
    guess=input('Have a guess: ')
    if guess == li[i]:
        li.pop(i)

ho=list('abcde')
我想看看lao(ho,0)是否像我想象的那样返回并删除了“a”,事情就是这样的:

>>> print(lao(ho, 0))
Have a guess: a
None

>>> ho
['b', 'c', 'd', 'e']
很明显,自从删除了“a”之后,就执行了.pop()方法,但该方法没有返回“a”,而是没有返回任何值。
我不明白为什么?

li.pop(I)
更改为
返回li.pop(I)
。默认情况下,Python函数返回
None
(当不存在/达到
return
语句时)。要从函数返回某些内容,必须使用
return
关键字。请参阅。

可能尝试
返回li.pop(i)


该方法可能工作正常,只是您没有返回实际值

好吧,哈哈,我真傻!谢谢:)是的,现在很好用,谢谢!