[Python] 30초 파이썬 - min_n

리미·2020년 5월 6일
1

30 Seconds of Python

목록 보기
5/5

list중 n개의 최솟값 반환

from copy import deepcopy
# deepcopy는 새로운 객체(변수)를 만든 뒤에 원본의 복사본을 변수에 입력한다.(참조X)

def min_n(lst, n=1):
    numbers = deepcopy(lst)
    numbers.sort()
    # 오름차순 정렬
    return numbers[:n]
    # index n전까지 반환


if __name__ == '__main__':
    print(min_n([1, 2, 3], 2))
    # 2개의 최솟값 출력
>>> python min_n.py
[1, 2]

dramatic님께서 알려주신 방법으로 다시 해보았다! (2020-05-07추가)

def new_min_n(lst, n=1):
    numbers = sorted(lst)
    return numbers[:n]

두개 모두 같은결과 알려주신 방법이 확실히 더 간략하다!

profile
Python이 하고싶은데 자꾸 Flutter 시켜서 빡쳐서 만든 블로그

2개의 댓글

comment-user-thumbnail
2020년 5월 6일

sorted 함수를 이용하면 deepcopy 할 필요없이 정렬된 리스트를 반환해줍니다!

1개의 답글