• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

pop 함수 / 리스트 내 마지막 m 개 제거 관련 질문

21.01.16 16:30 작성 조회수 101

0

안녕하세요 현재 파이썬 기초 자료형 - 리스트 까지만 수업을 들은 상태입니다. 

수업 내용 중 pop 함수가 리스트 내 마지막 element 추출하는 함수라고 이해했습니다. 

(예시 -

a = [5,2,3,1,4]

print('a - ', a.pop())  -> a -  4 ) 

.

.

.

그런데 제가 하고 싶은건 예를 들어 이겁니다. 

a = [5,2,3,1,4] 이런 리스트가 있을 때 마지막 세 개를 제거한 결과가 나오게끔 하는 함수를 알고 싶습니다. 

(예시 -

선언 a = [5,2,3,1,4]  => 함수 => [5,2] ) 

반복문을 이용해야 할 것 같아서 강의에 나온 반복문 + 구글링 (python + pop +iterate + several elements) 해서 

시도해 본 것이 아래와 같습니다. 

.

.

.

a = [5,2,3,1,4]

while len(a) > 2:

    data = a.pop()

    print(a)

 이렇게 하면 원하는 결과가 나오기는 하는데 말 그대로 반복문이라 원하는 결과가 나오기까지 여러 행을 시행 해야 해서 

다른 방법이 없을지요... 

질문을 쓰는 과정에서 구글링 해서 

a = [5,2,3,1,4]

for elm in list(a):

    if elm in a[2:] :

        a.remove(elm)

print(a)

을 해서 원하는 결과를 얻긴 했습니다.. 만 더 간단한 연산이 없을지요.... 

답변 1

답변을 작성해보세요.

1

네 두 가지 방법으로 잘 하셨습니다.

보통 반복문(for, while)문으로 처리합니다.

검색할 정확한 인덱스를 알고 계시면 단일로 처리가 가능하지만, 전체 원소를 검색해야할 일이 더 많습니다.