단일 값으로 병합합기

BackEnd_Ash.log·2021년 3월 16일
0

알고리즘 인터뷰

목록 보기
1/7

리스트를 문자열

리스트를 string 으로 이어 붙일려면 어떻게 해야할까 ??

이방식으로 해도 되지만 좀 더 가독성을 고려해서 다시 작성하게 된다면 ?

str 를 통해서 문자열로 변환을 암시하는 듯하여 가독성이 좀 더 좋아보인다.

리스트를 문자열 => int

하지만 이방식은 그닥 좋지 못하다

string 으로 변환을 해서 다 이어붙여서 int 로 바꿔준다.

좀 더 나은 방법이 없을까 ?

reduce 를 사용하면 좀 더 간단히 작성할 수가 있다.

이러한 코드가 어떻게 실행이 되어질까 ??

((((1+2)+3)+4)+5) 이렇게 실행이 된다. 그래서 15 가 된다.

이외에도 좀 더 가독성을 높일 수 있도록 operator 모듈을 활용하는 방법도 있다.

연산자 명칭(함수) 을 reducer() 메소드의 파라미터로 지정할 수 있어 가독성이 매우 높다.

이 또한 고계 함수이기 때문에 이처럼 파라미터로 함수를 넘기는것이 가능하다.

import functools
from operator import add , mul

test1 = functools.reduce(add , [1,2,3,4,5])
test2 = functools.reduce(mul , [1,2,3,4,5])

print(test1) // 15
print(test2) // 120
profile
꾸준함이란 ... ?

0개의 댓글