강의로 돌아가기
김진산

slice를 사용할수 있는 방법은 무엇인가요?

힌트에서 slice를 이용하는 방법이 잘 생각나지 않습니다.

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
def solution(L, x):
    result_list = []

    try:
        L.index(x)
        for idx, val in enumerate(L):
            if val == x:
                result_list.append(idx)
    except:       
            result_list = [-1]    

    answer = result_list    
    return answer
1 개의 답변
이시윤

만약 리스트 L 내에서 x 의 원소가 삽입될 위치 (인덱스) 를 찾아냈고 그 값이 변수 i 에 담겨 있다고 가정하면,

(1) 리스트 L 에 슬라이싱을 적용하여 i 번째 직전까지의 슬라이스를 얻어내고
(2) [x] 로 원소 하나 짜리의 리스트를 구성하고
(3) 리스트 L 에 슬라이싱을 적용하여 i 번째부터 끝까지의 슬라이스를 얻어내어

이 세 개의 리스트를 리스트 병합 (concatentaion; + 연산으로 표현) 함으로써 의도한 리스트를 만들어 낼 수 있습니다.

위에서 (1) 과 (3) 의 구체적인 문법은 여기에 제시하지 않았습니다. 슬라이싱에 대해서 Python 프로그래밍 교재 아무 것이나를 참고하면 쉽게 알아낼 수 있을 것입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.