[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
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Software Development N
        • Performance
        • TroubleShooting
        • Refactoring
        • Test N
        • Code Style, Convetion
        • DDD
        • Software Engineering
      • Java N
        • Basic
        • Core
        • Collection
        • 멀티스레드&동시성
        • IO, Network
        • Reflection, Annotation
        • Modern Java(8~) N
        • JVM N
      • Spring
        • Framework
        • MVC
        • Transaction
        • AOP
        • Boot
        • AI
      • DB Access
        • Jdbc
        • JdbcTemplate
        • JPA
        • Spring Data JPA
        • QueryDSL
      • Computer Science
        • Data Structure
        • OS
        • Database
        • Network
        • 컴퓨터구조
        • 시스템 프로그래밍
        • Algorithm
      • HTTP
      • Infra N
        • Docker N
      • 프로그래밍언어론
      • Programming Language(Sub) N
        • Kotlin N
        • Python
        • C++
        • JavaScript
      • FE
        • HTML
        • CSS
        • React
        • Application
      • Unix_Linux
        • Common
      • PS
        • BOJ
        • Tip
        • 프로그래머스
        • CodeForce
      • Book Review
        • Clean Code
      • Math
        • Linear Algebra
      • AI
        • DL
        • ML
        • DA
        • Concepts
      • 프리코스
      • Project Review
      • LegacyPosts
      • 모니터
      • Diary
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

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

티스토리툴바