你能告诉我如何优化以下代码吗?
def f(y, list_or_elem):
if getattr(list_or_elem, '__iter__'):
y = max(y, *list_or_elem)
else:
y = max(y, list_or_elem)
请您参考如下方法:
最好的优化是避免将“列表或单个元素”作为参数这样的愚蠢行为。但是,如果您坚持,最好使用 try/except 尽快消除异常并确保它是可迭代的:
try: iter(list_or_elem)
except TypeError: iterable = [list_or_elem]
else: iterable = list_or_elem
y = max(y, *iterable)
