sorted 와 sort

이영주·2020년 9월 21일

python 기초

목록 보기
5/9

draw_winning_numbers 일반 당첨 번호 6개와 보너스 번호 1개가 포함된 리스트를 리턴합니다. 일반 당첨 번호 6개는 정렬되어 있어야 하고, 보너스 번호는 마지막에 추가하면 됩니다.

def draw_winning_numbers():
    winning_numbers = generate_numbers(7)
    return sorted(winning_numbers[:6]) + winning_numbers[6:]

sort로 하면 왜 안되는지에 대한 고찰

def draw_winning_numbers():
    winning_numbers = generate_numbers(6)
    winning_numbers.sort()
    winning_numbers.append(generate_numbers(1))
    return winning_numbers
    
    
>> [13, 21, 23, 24, 25, 38, [44]] 

그래서 다시 생각해본 방법

def draw_winning_numbers():
    winning_numbers = generate_numbers(7)
    draw_winning_numbers = winning_numbers[:6]
    draw_winning_numbers.sort()
    draw_winning_numbers.append(winning_numbers[6])
    return winning_numbers

>> [1, 2, 7, 17, 27, 39, 37]
정리
sort 함수
-리스트 슬라이싱을 사용할 수 없어서 새로운 리스트를 만들어주어야했다.
    draw_winning_numbers = winning_numbers[:6]
    
-더하기 연산도 사용할 수 없었다.
    draw_winning_numbers.append(winning_numbers[6]) (o)
    draw_winning_numbers + winning_numbers[6] (x)
    

    
    





0개의 댓글