Python是否选择“default”元组项/索引?

2024-10-03 21:31:20 发布

您现在位置:Python中文网/ 问答频道 /正文

想象一下下面的函数:

def getMinAndMax(numbers):

  return min(numbers), max(numbers)

如果我这么做会怎么样?你知道吗

num = getMinAndMax([1,2,3,4,5])

num会假定元组中第一个项的值min,还是会发生其他事情?我知道我可以试试,但我在这里寻找一些定义的Python行为。你知道吗


Tags: 函数return定义defmin事情nummax
2条回答

num将是一个元组。在您的示例中,num的值将等于(1,5)。Python默认情况下不检查类型,因此可以安全地将任何类型的值赋给任何变量。你知道吗

函数返回两元素元组min([1, 2, 3, 4, 5]), max([1, 2, 3, 4, 5]),其值为1, 5。所以声明

num = getMinAndMax([1,2,3,4,5])

将名称num绑定到元组(1, 2),您可以访问单个值num[0]num[1]。不过,Python确实允许您使用通常所说的解包赋值,如下所示:

nmin, nmax = getMinAndMax([1, 2, 3, 4, 5])

它将每个名称绑定到右侧元组的后续元素,并允许您在不建立索引的情况下使用这些值。如果您需要结果的元组,那么您的公式是最简单的,当然表达式(nmin, nmax)将从第二个元组重新创建它。你知道吗

相关问题 更多 >