如何创建一个函数,将不同的公式应用于任何长度的元组?

时间:2015-12-13 23:29:35

标签: python tuples

对我的头衔感到抱歉,我想不出更好的方式来表达它。 我要做的是创建一个带元组的函数,并为每个单独的数字应用不同的公式。 我的例子是这个函数:

def 321tup(tup):

然后使它增加3到tupple中的第一个数字,将第二个数字乘以2,并将最后一个数字除以2.该函数将只有3个变量。我意识到我可以创建一个像

这样的函数

def 321tup(x,y,z):

并使它将公式应用于变量,但我确实需要使它成为一个元组并生成一个元组。有什么线索怎么做?

2 个答案:

答案 0 :(得分:1)

也许这个?我自己还没有测试过。

def tup321(tup):
    return (tup[0] + 3, tup[1] * 2, tup[2] / 2)

答案 1 :(得分:0)

我完全无法理解你的问题,我想也许你想要这个:

from operator import add, mul, div


def tuple_map(tpl, functions):
     return [func(element, element) for element, func in zip(tpl, functions)]

print tuple_map((3, 2, 1), (add, mul, div))

输出:

[6, 4, 1]