본문 바로가기

About/Python

(25)
[Python] Lambda & Map & Reduce Lambda 함수 이름 없이, 함수처럼 쓸 수 있는 익명함수 수학의 람다 대수에서 유래함 Python 3부터는 권장하지는 않으나, 여전히 많이 사용됨. 간단한 함수들을 선언해서 사용하면 좋을 것 같다.(ex 함수의 제곱, 덧셈 반환 등..) Map function Sequence 자료형의 각 Element에 동일한 functon을 적용하는 함수 map(function_name, list_data) 첫 번째 인자는 적용할 함수, 두 번째 인자는 적용할 데이터이다. 위의 예제에서 기존의 데이터 [1,2,3,4,5]에 각 요소들을 제곱하는 람다 함수를 적용하여 모든 요소가 제곱된 새로운 리스트가 반환되었다. 위와 같이 Map()와 Lambda를 같이 사용하면 편리하게 기존의 데이터를 수정하여 구성할 수 있다...
[Python] Enumerate(), Zip() Enumerate List의 Element를 추출할 때 번호를 붙여서 추출할 수 있게 해주는 함수 List를 다룰 때 index번호가 필요한 경우 유용하게 사용할 수 있다. 위 코드에서 idx에 번호가, el에 리스트의 element가 저장되어 출력된다. 기존의 numbers 리스트의 요소를 index와 함께 묶은 list로 저장한다. 참고로 새로 생긴 list의 요소들의 type은 'tuple'이다. 다음과 같이 dict 자료형 또한 생성 가능하다. Zip 두 개의 list의 값을 병렬적으로 추출하는 함수 함수명 처럼 두 개의 list를 Zip해주는(묶어주는) 함수이다. 위의 예제에서 볼 수 있듯이 list1과 list2가 병렬적으로 a,b에 반환된다. 병렬적으로 라는 말은 두 리스트의 같은 index..
[Python] List comprehension - List comprehension이란 기존의 List를 사용하여 간단히 다른 List를 만드는 기법 포괄적인 List, 포함되는 List라는 의미로 사용 파이썬에서 가장 많이 사용되는 기법 중 하나 일반적으로 for + append 보다 속도가 빠르다 기존의 코드 스타일과 List Comprehension을 적용한 코드를 비교해보자. 위의 코드를 List comprehension을 이용한 코드로 변화하면 다음과 같다. List comprehension을 사용하면 코드도 짧고 속도도 빠르다. 중첩 Loop 또한 List comprehension으로 구현할 수 있다. 위의 코드는 case1에 해당하는 i loop 내부에 case2에 해당하는 j loop가 있다고 생각하면 된다. 따라서 i를 고정시키고, ..
[Python] Split(), Join() - Split() String Type의 값을 나눠서 List 형태로 변환하는 함수 즉, 문자열을 일정한 규칙으로 분리하여 리스트로 바꿔주는 함수이다. 리스트에 있는 값을 여러 개의 변수로 unpacking 하는 것 또한 가능하다. 이러한 split함수의 특징으로 도메인을 분리할 수도 있다. - Join() String List를 합쳐서 하나의 String으로 반환할 때 사용 즉, 리스트에 담겨있는 문자열들을 하나의 문자열로 바꿔주는 함수이다. 이러한 join함수의 특징으로 앞에서 분리한 Domain을 쉽게 합칠 수 있다. 이렇듯 split()과 join은 반대되는 느낌의 함수로 문자열을 손쉽게 분리하고 합치는 기능을 제공한다. 참고 https://www.edwith.org/aipython/joinLec..
[Python]Pythonic Code란 Pythonic Code란 Pythonic코드는 파이썬답게 코드를 짜는 것이다. 그렇다면 파이썬다운 코드란..?? "파이썬의 기능들을 잘 이용하여 만든 간결하고 가독성이 좋은 코드" 라고 생각한다. 즉, 파이썬 스타일로 코드를 짜는 것을 의미한다. 정해져있는 규칙이 아니라 권장하는 코드 스타일을 의미한다. 파이썬스러운 코드를 작성할 수 있도록 도와주는 가이드 또한 있다. 바로 파이썬 코딩 컨벤션 PEP 8 이다. https://www.python.org/dev/peps/pep-0008/ PEP 8 외에 파이썬의 내장 함수를 이용한 다양한 Pythonic Code를 포스팅 할 예정이다.