리스트 파라미터

조회수 562회
def plus(a:str, b:str, c:str):
    return a + b + c

def plus2(a:str, b:str):
    return (a + b) *2

list = ["a", "b", "c", "d", "e"]

리스트가 이런식으로 있고 plus 함수에는 3개의 파라미터가 있고 plus2 함수에는 2개의 파라미터가 있는데,

plus에서는 리스트에서 a b c만 가져오고 plus2에서는 a b 만 가져와서 파라미터에 하나하나 넣으려면 어떻게 해야 하나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 원하시는 것을 인자 언패킹(arguments unpacking)이라고 합니다. https://wikidocs.net/22801 엽토군 2020.5.27 15:04
  • 그러면 리스트의 개수가 함수의 파라미터 개수보다 많을 수 있는데 그런 경우에 대비해서 함수의 파라미터 개수를 알수 있는 코드가 있나요? 알 수 없는 사용자 2020.5.27 15:13
  • 함수이름.__code__.co_argcount 알 수 없는 사용자 2020.5.27 17:22
  • 근데 궁금한게요 꼭 파라미터에서 갯수를 정해야 하나요? 그냥 list 하나 통으로 전달인자에 보내고 함수 내부에서 slicing해서 index만 따다가 plus는 0,1,2로 고정해놓고, plus2는 0, 1로 고정해 놓고 쓰면 되지 않을까요? 물론 list가 index 보다 작을 경우를 대비해서 예외구문도 하면 되구요. 반시 2020.5.27 18:24
  • 무슨 말인지? 함수 내부에서 슬라이싱 한다면 매개변수로 리스트를 받아야 하는데, 지금 함수 선언문에서는 세개의 문자열 변수를 받게 해놓을 게 아니라 리스트로 바꾸어야... 알 수 없는 사용자 2020.5.27 19:29
  • 질문에서 제약 조건을 모르겠습니다. 함수를 수정할 수 있는건지... 그냥 리스트를 원하는 만큼 슬라이스하고 언패킹하는 방식으로 전달하거나 인덱스 지정해서 넣으면 되는데 그걸 모르실 리는 없고... 궁극적으로 무얼 하려는지 모르니 상상의 나래를 펼치게 되네요. ㅎ doodoji 2020.5.27 20:21

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

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

(ಠ_ಠ)
(ಠ‿ಠ)