본문 바로가기

PYTHON/Basic

loops

반복문

  • 반복적 작업을 위한 도구로 코드 작업에서 가장 많이 사용하는 구문 중 하나

  • 특정 조건을 만족하는 경우 수행할 수 있음 (while)

  • 리스트, 문자열, 튜플 등 컬렉션 타입의 아이템을 하나씩 순회하면서 사용 가능 (for)

  • break : 특정 조건일때 종료

  • 주의 : while을 사용할 경우, 반복을 멈추게 하는 장치가 필요

  • 반복문 중단 이후 코드 수행

  • continue : 해당 아이템 건너 뛰고 다음 반복 실행

  • 중첩 사용 가능 (외부 루트 수행 횟수 만큼 내부 루프 반복 수행)


for

  • iterable한 집합의 아이템(데이터)을 value 변수에 차례로 대입 후 for 구문 코드 실행

  • 모든 아이템이 순회되면 for 블록 종료

  • 문자열의 경우 리스트와 유사하게 순회

for value in <iterable> :
<code : value>

  • dict 아이템 출력 가능

  • keys(), values(), items()

a = {'korea': 'seoul', 'japan': 'tokyo', 'canada': 'ottawa'}
for key, value in a.items():
    print(key, value)
korea seoul
japan tokyo
canada ottawa

range

  • iterable 숫자로 구성된 리스트 데이터를 만드는 함수
  • range(end)
  • range(start, end)
  • range(start, end, stride)

enumerate

  • index와 value 값을 동시에 사용 (tuple 형태로 반환)
subjects = ["math", "english", "science"]
for number, value in enumerate(subjects):
    print(number + 1, value)
((0, 'math'), (1, 'english'), (2, 'science'))

zip

  • 리스트를 같은 index끼리 묶어주는 함수
subjects = ["math", "english", "science"]
points = [80, 90, 70]
grades = ["B", "A", "C"]
list(zip(subjects, points, grades))
[('math', 80, 'B'), ('english', 90, 'A'), ('science', 100, 'A')]

list comprehension

  • 반복문의 결과를 바로 리스트로 만듦으로써 for문 보다 속도가 빠르다.
  • 조건문, 삼항연산 등과 함께 사용 가능

ls = [ for in ]
ls = [ for in if ]


Q. 삼항연산으로 1~10의 숫자와 홀/짝수 구분을 출력하세요.

ls = [
str(num) + ":even"  if num % 2 == 0  else str(num) + ":odd"
for num in range(1, 11)
]

while

  • condition이 False가 될 때까지 구문 실행
a = [1, 2, 3, 4, 5, 'q']
idx = 0

while  True:
    data = a[idx]
    idx += 1
    if data == 'q':
        break
    elif data % 2 == 0 :
        continue

print(data)
1
3
5

'PYTHON > Basic' 카테고리의 다른 글

module  (0) 2019.12.28
function  (0) 2019.12.28
conditions  (0) 2019.12.28
operators  (0) 2019.12.28
datatype  (0) 2019.12.28