我有这样的伪代码:
if( b < a)
return (1,0)+foo(a-b,b)
我想用python写。但是python可以添加元组吗?最好的编码方法是什么?
最佳答案
您想进行元素添加,还是追加元组?默认情况下,python会
(1,2)+(3,4) = (1,2,3,4)
您可以将自己定义为:
def myadd(x,y):
z = []
for i in range(len(x)):
z.append(x[i]+y[i])
return tuple(z)
另外,正如@delnan的评论所表明的那样,这篇文章最好写成
def myadd(xs,ys):
return tuple(x + y for x, y in izip(xs, ys))
或者更实用:
myadd = lambda xs,ys: tuple(x + y for x, y in izip(xs, ys))
那就去吧
if( b < a) return myadd((1,0),foo(a-b,b))