原因 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.
有没有很好的解释为什么 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.