我在使用遞歸只使用這些功能扭轉了名單的問題:蟒蛇反向列表遞歸,只用
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