【发布时间】:2011-02-18 22:58:49
【问题描述】:
能否告诉我如何优化以下代码?
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)
【问题讨论】:
-
不要忘记字符串也是可迭代的,所以
f("xxx", "abz")将返回“z”,这可能不是你想要的。 -
再三考虑,您的函数不会返回任何内容 - 它将结果分配给函数本地的 y。无论你传递什么参数,它都不会做任何事情。