파이썬 리스트 관련 질문입니다

조회수 570회

앞의 질문에서 날로 먹으려던 생각을 지적해주신 분들 감사합니다.
일침을 주셨던 부분은 해결했습니다!0^
새로운 질문이 있습니다.
데이터 a 가 1,2,3을 가지고 있고 숫자 b가 1을 가지고 있다는 전제하에 b가 a에 포함되어 있다면 a에서 b를 뺀 값을 반환하고 만약 a가 b를 가지고 있지 않다면 0을 반환해주는 것인데요. 전 이 함수 알고리즘을

if element_value in list_data:
        print(list_data.remove(element_value))
    else:
        print("0")

이라고 설정했습니다.

그 후 list_data 값에 1,2,3을 부여하고 element_value에 1을 부여했는데요.

제 생각대로라면 1,2,3에서 1이라는 값을 빼준 2와 3이 나와야하는데 else값인 0이 나오더군요.... 이 함수에 어떤 문제가 있는 것인지 설명해주실 수 있나요 앞의 문제에 도움 주신분들께 너무 감사드립니다.

1 답변

  • >>> l = [ 1, 2, 3 ]
    >>> help(l.remove)
    Help on built-in function remove:
    
    remove(...) method of builtins.list instance
        L.remove(value) -> None -- remove first occurrence of value.
        Raises ValueError if the value is not present.
    

    list.remove 메소드는 None 을 반환합니다.

    print(a.remove(b))
    

    a.remove의 리턴값을 print합니다. 따라서 a에서 b가 빠지는 동작을 하지만, None이 찍힙니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)