Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使一个函数对任意长度的元组应用不同的公式?_Python_Tuples - Fatal编程技术网

Python 如何使一个函数对任意长度的元组应用不同的公式?

Python 如何使一个函数对任意长度的元组应用不同的公式?,python,tuples,Python,Tuples,对不起,我的标题,我想不出更好的表达方式了。 我想做的是做一个函数,它接受一个元组,并对每个数字应用不同的公式。 我的示例是以该函数为例: def 321 tup(tup): 让它在元组的第一个数字上加3,第二个数字乘以2,最后一个数字除以2。函数将只有3个变量。我意识到我可以做这样的函数 def 321tup(x,y,z): 使其应用于变量的公式,但我确实需要使其成为一个元组并产生一个元组。有什么线索吗?也许是这个?我自己还没有测试过 def tup321(tup): return (

对不起,我的标题,我想不出更好的表达方式了。 我想做的是做一个函数,它接受一个元组,并对每个数字应用不同的公式。 我的示例是以该函数为例:

def 321 tup(tup):

让它在元组的第一个数字上加3,第二个数字乘以2,最后一个数字除以2。函数将只有3个变量。我意识到我可以做这样的函数

def 321tup(x,y,z):


使其应用于变量的公式,但我确实需要使其成为一个元组并产生一个元组。有什么线索吗?

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

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

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

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]

嗯,我想知道你在找什么,但我迷路了。你能更具体地说明你在写函数的哪一部分遇到了麻烦吗?如何写函数,使它接受你在参数的第一个位置输入的任何数字,并对其应用公式,但对参数中的第二个和第三个数字应用不同的公式,并输出一个新的元组。是否要将这些公式传递给函数?
321tup
不是有效的函数名-它不能以数字开头我认为这只是作者提供的特定示例的解决方案。@timgeb,很可能是,但是考虑到目前这种模棱两可的措辞,很难做出更恰当的回答。哇,这就是解决办法!我试图将两个元组相互相加,使其过于复杂,而不知道可以添加一个元组并保持其有效性。我总是被告知这样做的方法,所以这是造成错误的原因。谢谢大家!@西摩,不客气!请记住zvone的评论,尽管函数不能以数字开头。我相应地更新了我的代码。@Seymour嗯,这让人困惑。下次请不要说你正在提供一个例子,而这个例子正是你想要的,硬编码的。