原因 max() returns 具有相同元素的数组的不同结果

Reason max() returns a different result for an array with same elements

有没有很好的解释为什么 max() 函数 returns 给定下面的两个数组(具有相同的元素,不同的顺序)得到不同的结果?
可能只是 returns 评估参数后出现的第一个“最大”值实例?

>>> max([1, False, 0, True])  # returns 1
>>> max([True, False, 0, 1])  # returns True

第一行:因为第一个值是整数,所以它是一个整数数组

second line:since 第一个值是 bool 它是一个 bool 数组

  • 正确 <=> 1
  • 假 <=> 0
  • (也可以反过来)

最大值 return 取决于列表的第一个值:

print(max([True, 1]))# will return True
print(max([1, True]))# will return 1

您可以使用:

print(bool(max(1, True)))# will return True
print(bool(max(True, 1)))# also return True

print(int(max(True, 1)))# will return 1
print(int(max(1, True)))# also return 1

编辑:

例如bool(x: int)的用法会将整数x转换为布尔值,int(y: bool)会将布尔值y转换为整数。

使用这个我们可以确保 max() 函数 return.