새소식

반응형
IT skill/Python

[python] python for문 정리 + 유용한 팁

  • -
반응형

파이썬에서 가장 기초적인 반복문인 for문의 정리와 함께 유용한 팁 몇가지를 소개해 드리겠습니다.

 

for문은 아주 유용한 반복문입니다. 처리속도가 느릴 수 있지만 표현하기 참 편리한 방법이죠.

 

먼저, 반복가능한 여러 타입들을 보겠습니다. 제가 적은 것 말고도 아주 많은 예시들이 더 있을테지만, 제가 생각나는데까지 적어볼게요.

 

1. for문의 표현식과 반복가능한 타입

import numpy as np
array_ = np.array([1, 2, 3, 4])
for i in array_:
    print(i)
    
1
2
3
4
list_ = [1, 2, 3, 4]
for i in list_:
    print(i)
    
1
2
3
4
tuple_ = (1, 2, 3, 4)
for i in tuple_:
    print(i)
    
1
2
3
4
dict_ = {"x": 1, "y": 2, "z": 3, "v": 4}
for i in dict_:
    print(i)
    
x
y
z
v
str_ = "abcd"
for i in str_:
    print(i)
    
a
b
c
d
range_ = range(0, 4)
for i in range_:
    print(i)
    
0
1
2
3

 for문의 표현식은 참 직관적입니다. 위의 예시 중 range를 설명하면, 

 

range(0, 4)는 range(start, stop, step)이며 start와 step은 생략가능합니다. stop의 숫자 바로 전까지 정의되며,

 

range(0, 4)=range(4)=range(0, 4, 1) 입니다. 따라서, start의 디폴트값은 0, step의 디폴트값은 1입니다.

 

range_ = range(0, 4)이기 때문에 0, 1, 2 ,3 순서대로 반복하여 i 변수에 주입합니다.

 

반복이 진행되면 순서대로 i 변수에 0, 1, 2 ,3이 부여되어 프린트됩니다.

 

다음으로 for문 이용할 때의 팁을 추가하자면

 

2. for문 이용시 꿀팁

 

2-1. enumerate

for index, i in enumerate(list_):
    print(index, i, list_[index])
    
0 1 1
1 2 2
2 3 3
3 4 4

enumerate는 반복할 타입의 인덱스를 함께 부여할 수 있습니다.

 

list_ = [1, 2, 3, 4] 입니다.

 

index는 list_에서의 인덱스, i는 list_의 값, list_[index]는 list_의 인덱스 위치에 해당하는 값입니다.

 

2-2. zip

for array__, dict__ in zip(array_, dict_):
    print(array__, dict__)
1 x
2 y
3 z
4 v
for array__, dict__, str__ in zip(array_, dict_, str_):
    print(array__, dict__, str__)
    
1 x a
2 y b
3 z c
4 v d

zip은 같은 길이의 변수라면 for문에 함께 사용하게 할 수 있는 함수입니다.

 

array_ = np.array([1, 2, 3, 4]), dict_ = {"x": 1, "y": 2, "z": 3, "v": 4} 입니다.

 

두 변수의 길이가 같으므로 zip으로 묶을 수 있고, for문을 한번에 돌릴 수 있습니다.

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~