我在使用递归只使用这些功能扭转了名单的问题:蟒蛇反向列表递归,只用
def head(xs):
return xs[0]
def tail(xs):
return xs[1:]
def empty(xs):
return len(xs) == 0
我可以这样做:
def p(xs1, xs2):
if not empty(tail(xs1)):
p(tail(xs1), xs2)
xs2.append(head(xs1))
def p05(xs):
s = []
p(xs, s)
return s
有没有办法做到它没有使用append()?
()? – jimifiki
不要在Python中编写Haskell :) – kennytm
我发现这个问题令人困惑,因为下面的两个答案建议使用'+'(正如我的第一本能)。但是对于所有的意图和目的,'+'也是一个功能!或者在任何情况下,它都会导致另一个函数('list .__ add__')被调用。这个问题的作者是否解决了这个微妙问题? – senderle