상세 컨텐츠

본문 제목

파이썬 리스트 컴프리헨션(List Comprehension) 메뉴얼

IT 공부/데이터분석

by 듀_77 2020. 7. 10. 18:31

본문

반응형

#1-28

오늘은 파이썬의 리스트 컴프리헨션(list comprehension)

기능을 배웠다.

for문을 빠르게 쓰는 방법 정도로 이해하면 될 것 같다.

(요약버전같은 느낌?)

파이썬 리스트 컴프리헨션(List Comprehension)은 

for문보다 코드를 빠르게 실행시켜준다.

 

*

ls의 데이터 하나씩 불러와서 append로

제곱해주고, 그걸 출력한다.

이게 일반 for문으로 만든 것.

(각각 값에 제곱한 결과를 출력하세요.)

위의 코드를

리스트 컴프리헨션( list comprehension )으로 바꿔주면

좀 더 깔끔해진다.

 

물론 list의 데이터를 가져오는 것이기 때문에

위에 ls=[0,1,2,3]을 꼭 정의해줘야한다.

 

나머지가 있으면 (1) 홀수, 없으면 짝수. (0)

(%2로 나뉘어 떨어져서 나머지가 0이면 

당연히 짝수가 됨.)

 

여러 번 강조하는 거지만 값이 있으면 1

없으면 0으로 보면 편하다.

 

0이되면 false가 됨. ( 값이 없으니까)

그래서 값이 있는 홀수만 출력되는 것.

dir함수로 현재 사용할 수 있는 함수 목록을 확인할 수 있다.

그리고 for 조건문으로 

앞에 언더바 "__"가 생략된 함수만 추출해보자.

(필터링이 가능하다)

 

 1. for in 구문을 이용하기

2. dir(ls) 데이터 불러오기

3. 앞에 2글자가 아닌 것

func[:2] !="__"

 

조건을 두개 쓰고 싶을 때는

if에 and를 덧붙인다.

 

4. 0번째 자리에 "c"가 붙은 함수만 추출하세요.

 

 

파이썬 리스트컴프리헨션(list comprehension)이

진짜 for문보다 빠른지 속도를 테스트해봤다.

%%timeit 매직커맨드를 사용하면 확인 가능!

 

숫자 10,000을 출력하는 코드로 확인해보니

3.45초/ 2.31초 정도로 속도가 확실히 빨라진다.

 

*그냥 숫자 불러오는 데에도 리스트에

append를 활용하는가보다.

(수식 추가할때만 쓰는 줄...!)

반응형

관련글 더보기

댓글 영역