地址:http://www.codewars.com/kata/53d32bea2f2a21f666000256/train/python
Write a program that outputs the top n elements from a list.
Example:
largest(2, [7,6,5,4,3,2,1])# => [6,7]
刚开始,我就调用sort排序直接输出。
def largest(n,xs):
xs.sort(reverse = True)
ans = []
for i in range(n):
ans.append(xs[i])
return ans
没通过。
实在不知道咋错了,就请教了下朋友。
代码如下:
def largest(n,xs):
return sorted(xs)[-n:]
通过了。
原因如下:
sort会就地排序,会改变参数xs;
sorted是生存一个新的排好序的List,没改变xs。