我尝试搜索问题的其他答案,但找不到促使我写自己答案的答案。
这个特殊的问题来自Leetcode:
平方数组
编写一个程序,该程序返回给定数组的排序结果,其元素为平方。例如:
sortedSquares([-4, -1, 0, 3, 10])
返回[0, 1, 9, 16, 100]
。
我尝试了两种方法,都使用列表推导。
return sorted([i * i for i in A])
return sorted([i**2 for i in A])
第一种方法总是导致更快的结果。我只是好奇a * a
是否比a**2
快是典型的行为?如果是这样,有人会善良地解释原因吗?
谢谢。