python 리스트 함수 질문


1.

def random_pop(data):
    number = random.randint(0, len(data)-1)
    return data.pop(number)

2.

def random_pop(data):
    number = random.choice(data)
    data.remove(number)
    return number

위 두 함수는 같은 값을 리턴하는데요, 왜 2번 함수를 다음과 같이 표현하면 안 되나요?

def random_pop(data):
    number = random.choice(data)
    return data.pop(number)
  • 2018년 01월 05일에 작성됨

조회수 84


Banner bitmango

1 답변


좋아요
0
싫어요
채택취소하기

pop(x)에 들어가는 x값은 인덱스 값이여야 합니다.

>>> a = [1, 2, 3, 'a', 'b', 'c']
>>> a.pop(4)
'b'
>>> a
[1, 2, 3, 'a', 'c']

요소로 값을 삭제하는 remove 함수와는 입력값에 큰 차이점이 있습니다.

>>> a = [1, 2, 3, 'a', 'b', 'c']
>>> a.remove('a')
>>> a
[1, 2, 3, 'b', 'c']
  • 2018년 01월 06일에 작성됨
    :Q

  • 답변 감사합니다~ 기본을 잊고 있었군요 :)    Anne   2018.1.6 09:09     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close