32.5 심사문제..답은 맞췄지만..
, flowithego 님이 작성print (list (map(lambda x : '{0:03d}.{1}'.format(int(x.split('.')[0]), x.split('.')[1]), files) ))
위와 같이 쓰니까 원하던 대로 돌아가는걸 확인 하였습니다.
다만, 몇시간 동안
print (list (map ('{0:03d}.{1}'.format(lambda x: int(x.split('.')[0]), x.split('.')[1], files) )))
이렇게 생각했습니다. 그리고 답은 맞췄지만 아직도 이게 맞다고 생각이 드는 이유는 뭘까요?
하지만 이렇게 쓰면 입력 값들 중 제일 처음 것만 출력하고 뒤에는 출력을 하지 않더군요.
여태 배워온 과정중에 map(함수, 코드) 라고 배워서 포맷형식을 바로 map 뒤에 주는게 맞다고 생각했는데 답이 왜 저렇게 되어야 하는지 이해가 좀 필요합니다..
Re: 32.5 심사문제..답은 맞췄지만..
, 도장_ 관리자님이 작성map(int, input().split())
이렇게 쓸 때 int는 입력값을 숫자로 변환하는 함수입니다.
map 함수의 첫 번째에 직접 작성한 함수를 넣거나 람다 표현식으로 만든 함수를 넣을 수 있습니다.
람다 표현식을 뺀다면 직접 함수로 만들어서 같은 결과를 유도해보세요.
같은 결과가 나오는 함수와 람다 표현식을 비교해보면 이해가 빠릅니다.