#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를 활용하는가보다.
(수식 추가할때만 쓰는 줄...!)
파이썬 Docstring, scope 개념정리 (0) | 2020.07.13 |
---|---|
파이썬 함수 개념과 파라미터, 아규먼트 정리 (0) | 2020.07.11 |
파이썬 딕셔너리(dict) 메뉴얼: list, key, zip 활용 (0) | 2020.07.11 |
파이썬 while 반복문 개념정의와 예제풀이 (0) | 2020.07.02 |
파이썬 조건문 if, else, elif 개념완벽정리 및 예제 (1) | 2020.06.25 |
댓글 영역