일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jd
- 데이터 분석
- pandas
- GA4
- da
- 팀프로젝트
- 서브쿼리
- 프로젝트
- If
- 기초통계
- 최종 프로젝트
- SQLD
- SQL
- Python
- 프롬프트 엔지니어링
- 데이터분석
- 기초프로젝트
- 시각화
- 히트맵
- data analyst
- 전처리
- 태블로
- cross join
- 클러스터링
- lambda
- Chat GPT
- 머신러닝
- 크롤링
- streamlit
- 군집화
- Today
- Total
세조목
PYTHON 정리(점프투파이썬 - For 제어문)(24.01.01) 본문
- 본 내용들은 PYTHON을 공부하면서 차후 제가 복습하기위해 정리해놓은 것으로 제가 새롭게 알게된 내용들만을 정리하였습니다. 또한 배움이 부족하여 미처 다 파악하지 못한 부분들도 많으니 혹시나 이 포스팅을 보시는 분들께서는 다른 포스팅, 도서, 강의도 함께 참고하시기 바라겠습니다.
1. for문 활용
for문은 while문과 마찬가지로 반복문이다.
차이점이라고한다면 for문의 문장구조가 while문보다 더 한눈에 들어온다는 점이다.
for문의 기본구조는 아래와 같다.
for 변수 in 리스트(or 튜플, 문자열):
수행할 문장1
수행할 문장2
기본구조의 in 다음에는 리스트, 튜플, 문자열 모두 들어갈 수 있는데
아래와 같은 리스트를 넣고,
in 다음에 [(1, 2), (2, 3), (3, 4)]라는 리스트를 넣고,
변수에 (a, b)를 넣은 후
수행할 문장에 print(a+b)를 넣으면 리스트 內 요소인 튜플에 들어있는 요소들끼리의 합을 구할 수 있다.
for (a, b) in [(1, 2), (2, 3), (3, 4)]:
print(a+b)
>>> 3
>>> 5
>>> 7
2. for문을 활용한 구구단 계산
for문을 활용하면 구구단을 쉽게 계산할 수 있다.
for a in range(1, 11):
for b in range(1, 11):
print(a * b, end=' ')
print('')
위와 같이 코드를 입려했을때의 결과값은 아래와 같다.
위 코드에서는 총 두 번의 for문이 사용됐는데
첫번째 for문에서는 1부터 11까지가,
두번째 for문에서도 마찬가지로 1부터 11까지가
출력된다.
그래서 1 * 1, 1 * 2, 1 * 3, 1 * 4 ...이 반복되고,
2 * 1, 2 * 2, 2 * 3, 2 * 4...이 반복되고,
3 * 1, 3 * 2, 3 * 3, 3 * 4...이 반복되는 형태로 진행된다.
조금 더 쉽게 얘기하면
위에서 아래로는 변수 a가
왼쪽에서 오른쪽으로는 변수 b가
들어감에따라 a * b를 했을때 아래 이미지에서와 같은 배열이 완성된다.
세번째 절을 보면 print(a * b, end=' ')
이라고 적혀있는데
여기서 end=' ' 를 넣어놓은 이유는 a와 b를 곱한 다음 다음 절로 넘기지 않고 띄워쓰기로 값을 붙이기 위함이다.
print 함수는 기본적으로 줄바꿈 문자(\n)가 기본값으로 설정되어있기때문에 end = ' ' 를 입력하지않으면
아래와같이 여러 절에 걸쳐서 결과값이 출력된다.
그리고 마지막 절에 print(' ')을 넣어줬는데
이는 변수 a의 값이 바뀔때마다 다음절로 넘기기위함이다.
3. 리스트 컴프리헨션(List Comprehension)
컴프리헨션은 '포함'이라는 뜻을 가지고있다.
리스트, 딕셔너리, 세트와 같은 자료형에 코드가 내장(=포함)되어있기때문에 해당 단어를 사용하는 것으로 보여진다.
※ 참고로 튜플은 컴프리헨션 기능을 활용할 수 없다고 합니다.
예를 들어보자
a라는 변수에 저장된 리스트의 요소들에 숫자 5를 곱한 후 리스트화하고싶다면
아래와 같이 코드를 작성할 수 있을것이다.
a = [27, 5, 22, 71]
result = [ ]
for num in a:
result.append(num * 5)
print(result)
>>> [135, 25, 110, 355]
위 코드를 컴프리헨션 기능을 활용해 간단하게 나타낼 수 있다.
a = [27, 5, 22, 71]
result = [num * 5 for num in a]
print(result)
>>> [135, 25, 110, 355]
굉장히 간단해졌다.
이렇게 컴프리헨션 기능을 활용했을때 처리 속도도 더 빨라진다고 한다.
만약 위 코드에서 홀수에만 숫자 5를 곱하고 싶을때는 어떻게 해야할까?
'홀수에만'이라는 조건을 넣고 싶으니까 아래에서처럼 if제어문을 활용하면 된다.
a = [27, 5, 22, 71]
result = [num * 5 for num in a if num % 2 != 0]
print(result)
>>> [135, 25, 355]
컴프리헨션의 문법은 아래와 같다.
표현식 for 변수2 in 변수1(앞선 절에서 지정해둔 변수) if 조건문
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(Try-Except)(24.01.04) (0) | 2024.01.04 |
---|---|
PYTHON 정리(점프투파이썬 - 함수: kwargs까지)(24.01.03) (0) | 2024.01.03 |
PYTHON 정리(점프투파이썬 - While 제어문)(24.01.01) (0) | 2024.01.01 |
PYTHON 정리(점프투파이썬 - IF 제어문)(24.01.01) (1) | 2024.01.01 |
PYTHON 정리(점프투파이썬 - 변수)(23.12.31) (0) | 2023.12.31 |