gpt4 book ai didi

python - 为什么我不能在 Python 中使用 max 来查找数组中的最大一位整数?

转载 作者:行者123 更新时间:2023-12-04 16:36:35 25 4
gpt4 key购买 nike

我最近有一次面试,被要求用 Python 解决以下问题:

写一个函数:

def solution(A):

这样,给定一个由 N 个整数组成的数组 A,它返回所有一位整数中的最大值。

例如,给定数组A如下:

[-6, -91, 1011, -100, 84, -22, 0, 1, 473]

函数应该返回 1。

假设:

  • N 是 [1...1,000] 范围内的整数
  • 数组A的每个元素都是[-10,000..10,000]范围内的整数。
  • 数组A中至少有一个元素满足任务语句中的条件。

我想出了以下我认为很优雅的解决方案,但我得到的分数只有 55%:

def solution(A):
return max([i for i in A if len(str(i))==1])

为什么这个解决方案不正确?

最佳答案

这是一个在我的书中打勾的解决方案。

def solution(integers):
"""Return max single digit integer in sequence `integers`"""
try:
return max(i for i in integers if -9 <= i <= 9)
except ValueError:
return ValueError("Could not find single digit integer in list")

print(solution([-6, -91, 1011, -100, 84, -22, 0, 1, 473]))

它使用描述性参数名称,带有注释,对数字大小进行简单比较,并使用带有内置函数 max 的生成器而不是不必要的列表。它还通过更热门的错误消息重新引发最预期的错误。该功能更易于维护和使用。

关于python - 为什么我不能在 Python 中使用 max 来查找数组中的最大一位整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69201354/

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