gpt4 book ai didi

python - 元组作为函数参数

转载 作者:行者123 更新时间:2023-11-28 22:17:23 27 4
gpt4 key购买 nike

我有这段旧代码,我正在尝试将其从 2.7 转换为 3,但我不知道如何传递一些元组参数。

代码如下:

def make_dis(self):
if self.ds == "SEP_EU":
def metric((x, y), (a, b)): # <- Error here (Invalid syntax)
return math.sqrt((x - a) ** 2 + (y - b) ** 2)
else:
def metric(a, b):
return 0
self.n_dist = [[metric(self.n_coord[i], self.n_coord[j]) for i in range(self.dim)] for j in range(self.dim)]
return self

如何让度量函数接受这些参数?感谢您的帮助。

最佳答案

你不能在函数参数中“定义”元组,但你可以在之后扩展它们:

def metric(t1, t2):  # Where t1 and t2 are two tuples
(x, y), (a, b) = t1, t2
return math.sqrt((x - a) ** 2 + (y - b) ** 2)

此外,通过变量赋值中的“tuple”扩展,您实际上可以扩展任何Iterable(不限于tuple)。因此,如果您传递一个包含两个的 list,您的函数仍然有效:

metric([1, 2], [4, 6])  # => 5.0

关于python - 元组作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com