2024-10-03 06:31:11 发布
网友
def chooseBest(s): if len(s) == 2: c = cmp(s[0], s[1]) if c == -1 or c == 0: return s[0] elif c == 1: return s[1] else: return chooseBest(s[1:])
其中“s”是可比较值的列表。你知道吗
想想chooseBest([x,y,z])是否可以返回x
如果您试图递归地在可比较的值列表中查找最大的元素,那么应该这样做:
def chooseBest(s): if not s: return None best = chooseBest(s[1:]) return s[0] if s[0] > best else best
甚至更短:
def chooseBest(s): return max(s[0], chooseBest(s[1:])) if s else None
无论哪种方式,它都适用于内置的可比较数据类型。如果出于某种原因需要将其与定义的类型进行比较,请不要忘记将其与None进行比较:
None
chooseBest([1, 2, 5, 3, 4]) => 5 chooseBest(['a', 'b', 'z', 'c', 'd']) => 'z'
想想chooseBest([x,y,z])是否可以返回x
如果您试图递归地在可比较的值列表中查找最大的元素,那么应该这样做:
甚至更短:
无论哪种方式,它都适用于内置的可比较数据类型。如果出于某种原因需要将其与定义的类型进行比较,请不要忘记将其与
None
进行比较:相关问题 更多 >
编程相关推荐