[Python] 12. for 문(for statements)

2023. 11. 5. 15:44·Programming Language(Sub)/Python

for 문(for statements)


for문의 기본 구조

for 변수 in 리스트(또는 튜플, 문자열):
    수행문장
    ...
  • 정확히는 리스트나 튜플, 문자열과 같은 반복 가능한(iterable) 객체에서 for문을 사용할 수 있다.

  • example

    test_list = ['one', 'two', 'three']
    for i in test_list:
        print(i) 
    # one, two, three
    
    a = [(1, 2), (3, 4), (5, 6)]
    for (first, last) in a:
        print(f'({first}, {last})')
    # (1, 2) (3, 4) (5, 6)
    
    marks = [70, 30, 100, 65, 59]
    number = 0
    for mark in marks:
        number += 1
        if mark >= 60:
            print(f'{number}번째 학생의 점수는 {mark}점이므로 합격입니다')
        else:
            print(f'{number}번째 학생의 점수는 {mark}점이므로 불합격입니다')
  • for문에서도 continue문을 사용할 수 있다

  • example

    marks = [70, 30, 100, 65, 59]
    number = 0
    for mark in marks:
        number += 1
        if mark < 60: continue
        print(f'{number}번째 학생의 점수는 {mark}점이므로 합격입니다')

for문에서 자주 사용하는 range함수

a = range(10)
a
res : range(0, 10) # 0부터 10 미만의 숫자를 포함하는 range 객체

b = range(2, 20, 2) # 2부터 간격(step) 2로, 즉 2, 4, 6, 8... 20 미만의 숫자 포함

ex)
add = 0
for i in range(1, 11):
  add += i

print(add)
res : 55

enumerate 함수

for (idx, data) in enumerate(iterable)
--> 인덱와 iterable이 포함하고있는 data를 (idx, data) 튜플로 packing

for문 안에 for문 사용하기

  • for와 range를 이용해 구구단 출력하기
for i in range(1, 10):
    for j in range(1, 10):
        print(i * j, end = " ")
    print('')

리스트 내포 사용하기

  • a = [1, 2, 3, 4]
    result = []
    for num in a:
        result.append(num*3)
  • 위 코드를 리스트 내포를 사용해 아래처럼 사용할 수 있다.

  • a = [1, 2, 3, 4]
    result = [num * 3 for num in a]

    만약 짝수에만 3을 곱하고 싶으면
    result = [num * 3 for num in a if num % 2 == 0] 으로 사용

* 리스트 내포의 형식

```python
[표현식 for 항목 in 반복 가능 객체 if 조건]
  • 2개 이상의 for문도 가능하다

    [표현식 for 항목1 in 반복가능객체 if 조건 1
        for 항목 2 in 반복가능객체 if 조건 2
        for ...]
    • example

      ex) 구구단
      result = [x * y for x in range(1, 10)
          for y in range(1, 10)]

참조) Do it! 점프 투 파이썬 (박응용 지음)

'Programming Language(Sub) > Python' 카테고리의 다른 글

[Python] 14. 사용자 입력  (0) 2023.11.05
[Python] 13. 함수(function)  (0) 2023.11.05
[Python] 11. while 문(while statements)  (0) 2023.11.05
[Python] 10. if 문(if statements)  (0) 2023.11.05
[Python Advanced] Object(객체) 저장 구조에 대한 탐구  (0) 2023.11.05
'Programming Language(Sub)/Python' 카테고리의 다른 글
  • [Python] 14. 사용자 입력
  • [Python] 13. 함수(function)
  • [Python] 11. while 문(while statements)
  • [Python] 10. if 문(if statements)
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (463)
      • 개발 일지 (0)
        • Performance (0)
        • TroubleShooting (0)
        • Refactoring (0)
        • Code Style, Convetion (0)
        • Architecture (0)
      • Software Engineering (36)
        • Test (8)
        • 이론 (18)
        • Clean Code (10)
      • Java (72)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (13)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (16)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (130)
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (6)
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[Python] 12. for 문(for statements)
상단으로

티스토리툴바