Files
30-seconds-of-code/snippets/min_n.md
2018-02-20 17:08:10 +05:30

656 B

min_n

Returns the n minimum elements from the provided list. If n is greater than or equal to the provided list's length, then return the original list(sorted in ascending order).

Use list.sort() combined with the deepcopy function from the inbuilt copy module to create a shallow clone of the list and sort it in ascending order. Use [:n] to get the specified number of elements. Omit the second argument, n, to get a one-element array

from copy import deepcopy


def min_n(arr, n=1):
    numbers = deepcopy(arr)
    numbers.sort()
    return numbers[:n]
min_n([1, 2, 3]) # [1]
min_n([1, 2, 3], 2) # [1,2]