Python 方法list.pop返回None,而不是预期的值
我刚刚尝试了这个方法。pop()在文档中说它应该“删除列表中给定位置的项,然后返回它。” 因此,我尝试了以下代码: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
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)
该方法可能工作正常,只是您没有返回实际值好吧,哈哈,我真傻!谢谢:)是的,现在很好用,谢谢!