"8. 반복문"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→zip) |
|||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
129번째 줄: | 129번째 줄: | ||
# i는 0부터 순차적으로 올라가고, | # i는 0부터 순차적으로 올라가고, | ||
# x는 A부터 나온다. | # x는 A부터 나온다. | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | |||
+ | === zip === | ||
+ | 특정 데이터를 커플링하고 싶을 때 사용한다. | ||
+ | {| class="wikitable" | ||
+ | !의도 | ||
+ | !설명 | ||
+ | !예시 | ||
+ | |- | ||
+ | |두 리스트를 하나로 | ||
+ | |각각의 n번 원소를 하나의 튜플로 합쳐준다. | ||
+ | [1, 2, 3], ["A", "B", "C"]을 | ||
+ | |||
+ | [(1, 'A'), (2, 'B'), (3, 'C')]로. | ||
+ | |<syntaxhighlight lang="python"> | ||
+ | pairs = list(zip(list1, list2)) | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |두 리스트를 하나의 사전처럼 | ||
+ | |순번이 동일한 리스트가 있고, 이 둘을 동시에 순회해야 할 때. | ||
+ | |<syntaxhighlight lang="python"> | ||
+ | for i, j in zip(list1, list2): | ||
+ | .... | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} |
2022년 11월 25일 (금) 11:29 기준 최신판
1 개요[편집 | 원본 편집]
명령을 일정 횟수만큼, 혹은 어떤 조건 안에서 반복수행하게끔.
1.1 형태[편집 | 원본 편집]
기본적으로 조건문의 형태와 동일하다.
형태 | 방법 | 사용 | 예시 |
---|---|---|---|
while | while 조건:
명령
|
반복횟수가 명확하지 않을 때.
조건에 따라 돌린다. 조건식이 True일 동안 반복한다. |
while 0< x <=3:
x-=1
|
for | for 변수 in 자료구조:
명령
|
반복횟수가 명확할 때.
자료구조와 함께 사용할 때 쓴다. 자료구조의 요소를 반복하여 변수에 대입해 쓴다. |
for x in (1,2,3):
x-=1
|
2 while[편집 | 원본 편집]
형태 | 방법 |
---|---|
기본형 | while 0< x <=3:
x-=1
|
else | while 0< x <=3:
x -= 1
else:
x += 1
|
3 for[편집 | 원본 편집]
형태 | 방법 | 비고 |
---|---|---|
기본형 | for 변수 in 자료구조:
명령
|
|
자료구조 안에 또 자료구조가 있을 때 | for 변수1, 변수2 in [[1,2],[3,4],[5,6]]
명령
|
변수 갯수가 맞지 않는 경우엔 에러가 난다. |
else | for 변수 in 자료구조:
명령
else:
명령
|
3.1 range[편집 | 원본 편집]
반복문은 range() 와 함께 많이 쓴다. 명령에 따라 리스트를 만들어주는 함수이다.(실제 데이터형은 range라는 데이터형으로, 리스트와 구분해서 쓰인다.)
의도 | 방법 | 예시 | 결과 |
---|---|---|---|
기본형태 | range(종료숫자)
range(시작숫자, 종료숫자, 증가량) range(시작숫자, 종료숫자) |
||
1부터 9까지 | range(1, 10, 1) #10을 만나면 종료해버린다. | range(10, 1, -1)
|
|
10부터 1까지 | range(10, 0, -1) | range(10, 1, -1)
|
3.2 enumerate[편집 | 원본 편집]
의도 | 설명 | 예시 |
---|---|---|
기본형태 | for문을 돌리며 변수와 함께 수를 세주는 역할이 필요할 때. | for i, x in enumerate(['A', 'B', 'C']):
# i는 0부터 순차적으로 올라가고,
# x는 A부터 나온다.
|
3.3 zip[편집 | 원본 편집]
특정 데이터를 커플링하고 싶을 때 사용한다.
의도 | 설명 | 예시 |
---|---|---|
두 리스트를 하나로 | 각각의 n번 원소를 하나의 튜플로 합쳐준다.
[1, 2, 3], ["A", "B", "C"]을 [(1, 'A'), (2, 'B'), (3, 'C')]로. |
pairs = list(zip(list1, list2))
|
두 리스트를 하나의 사전처럼 | 순번이 동일한 리스트가 있고, 이 둘을 동시에 순회해야 할 때. | for i, j in zip(list1, list2):
....
|
4 분기문[편집 | 원본 편집]
실행위치를 이동시키는 명령.
4.1 break[편집 | 원본 편집]
반복문 안에서 반복문을 깰 때 사용한다. 조건문 안에서 반복문을 깰 때 사용할 수 있다.
자기 바로 위의 반복문을 탈출한다.
4.2 continue[편집 | 원본 편집]
해당 반복은 수행하지 않고 다음 반복으로 건너뛴다. 다음 코드의 출력은 0, 1, 3, 4, 5 이다.
for i in range(6):
if i == 2:
continue
print(i)
4.3 pass[편집 | 원본 편집]
있으나 마나한 기능이지만.. if나 for문 안에서 내용을 들여쓰기 하지 않으면 에러가 나는데, 내용을 나중에 채워넣기 위해 사용하는 구문. 다음과 같은 때에 사용한다.
if 1>x:
pass # 내용은 나중에 넣자.
def 함수명():
pass # 함수를 정의하긴 하는데, 내용은 나중에 넣자.
class 클래스명():
pass # 클래스를 정의하긴 하는데, 내용은 나중에 넣자.