에듀테크 프로젝트 대시보드
for 반복문
파이썬의 for 는 인덱스가 아니라 반복 가능한 객체(iterable)의 원소를 직접 돕니다.
for ch in "abc":
print(ch)
for n in [10, 20, 30]:
print(n)
for k, v in {"a": 1, "b": 2}.items():
print(k, v)
for i in range(5): # 횟수 반복
...
for _ in range(3): # 값을 안 쓸 때
...for i, name in enumerate(names, start=1):
print(f"{i}번: {name}")
for name, score in zip(names, scores):
print(name, score)
# 딕셔너리 만들며 순회
result = {name: idx for idx, name in enumerate(names)}for n in range(100):
if n == target:
print("찾음")
break # 반복 완전 종료
if n % 2:
continue # 다음 반복으로 건너뜀
process(n)
# 중첩 루프 탈출은 함수로 빼거나 플래그 사용
for i in range(n):
for j in range(m):
if done(i, j):
break
else:
continue # 안쪽이 break 안 했으면 계속
break # 안쪽이 break 했으면 바깥도 탈출# else 는 break 없이 루프가 "끝까지" 돌았을 때 실행
for x in data:
if x < 0:
print("음수 발견")
break
else:
print("음수 없음") # break 안 걸리면 여기
# 탐색 실패 처리에 유용
for p in range(2, n):
if n % p == 0:
break
else:
print(f"{n}은 소수")for x in lst[:]) 하거나 컴프리헨션으로 새 리스트 생성RuntimeError# 나쁨: for x in nums: if bad(x): nums.remove(x)
nums = [x for x in nums if not bad(x)] # 좋음import itertools as it
it.count(10) # 10, 11, 12, ... (무한)
it.cycle("AB") # A, B, A, B, ...
it.repeat(0, 3) # 0, 0, 0
it.chain([1, 2], [3, 4]) # 1, 2, 3, 4
it.islice(gen, 5) # 앞 5개만
list(it.product([0, 1], repeat=2)) # [(0,0),(0,1),(1,0),(1,1)]