【发布时间】:2013-04-23 16:16:43
【问题描述】:
def _pawnHit(state, user, y):
not_user = _notUser(user)
hit = 0
a=[]
for coordinate in y[1]:
if(state.whichUserProper(coordinate[0], coordinate[1]) == not_user):
hit = 1
a.append(coordinate)
if(hit==1):
return [a,True]
for coordinate in y[0]:
if(state.whichUserProper(coordinate[0],coordinate[1] == 7)):
a.append(coordinate)
else:
break
return [a,False]
在 C/C++ 中,我们不能通过引用返回任何变量(尤其是数组),在函数内部声明(它的作用域结束于函数返回并且变量被销毁),除非它的内存是使用 new/malloc 分配的,然后也我们返回指向数组的指针。
在 python 中,因为我不知道列表的返回是如何发生的。所以我不知道这是否会奏效。 列表“a”已在函数内创建。一旦函数的作用域结束,它会被销毁吗?如果是,有什么可能的解决方法?
附:我知道我可以轻松地返回像 return [i,j,[k,m]] 这样的东西,其中 i,j,k,m 是普通变量。
【问题讨论】:
-
你为什么不试试看?
标签: list python-3.x