Python

For을 사용하는 방법 4가지

땅개발자 2022. 6. 20. 21:57

Python의 for문을 이용하는 방법

Python에는 반복되는 처리를 위해서 for를 사용한다.

 

전방에서 부터 참조

for 요소 in 리스트:
    처리

---------------------------------------------------
# 첫번째 방법
lis = [1, 2, 3]
for el in lis:  # for로 리스트분 반복한다.
    print(el)  # 리스트내용을 출력한다. 
# 1
# 2
# 3

# 두번째 방법
lis = [1, 2, 3]
for i in range(len(lis)):
    print(lis[i])
    
# 1
# 2
# 3

후방에서 부터 참조

리스트의 slice기능을 이용하면, 뒷면의 요소부터 참조 할 수 있다.

lis[::-1]처럼 -1을 하면,  리스트를 역순으로 복사하는것이 가능하다.

# 첫번째 방법
lis = [1, 2, 3]
for el in lis[::-1]:
    print(el)
# 3
# 2
# 1

# 두번째 방법
lis = [1, 2, 3]
for i in range(len(lis) - 1, -1, -1):
    print(lis[i])
# 3
# 2
# 1

range에 대해서
// range(param1, param2, param3)
// param1: 정수의 개시점
// param2: 종료점 (-1지정이면, -1일때 종료)
// param3: step수 (-1지정이면, -1일씩 이동)

for문과 list, enumerate

for문에서 리스트를 반복할 경우, 요소와 리스트순서 번호를 동시에 출력하고 싶을때 사용가능하다.

for 순서번호, 요소 in enumerate(리스트):
    처리
    
-------------------------------------------------
    
lis = [10, 20, 30]
for i, el in enumerate(lis):
    print(i, el)
# 0 10
# 1 20
# 2 30

for문과 list, zip

두개의 리스트를 한개처럼 반복시키기 위해서 zip를 사용한다.

lis1 = ['a', 'b', 'c']
lis2 = [1, 2, 3]
for tup in zip(lis1, lis2):
    print(tup)
# ('a', 1)
# ('b', 2)
# ('c', 3)
------------------------------------------
lis1 = ['a', 'b', 'c']
lis2 = [1, 2, 3]
for i, el in zip(lis1, lis2):
    print(i, el)
# a 1
# b 2
# c 3

 

for문과 list 내포표기

리스트의 값을 한줄로 표현하는것이 가능하다.

Python은 내포표기처럼 소스를 간단화해서, 가독성을 높이는 것이 가능하다. 

 

lis1 = [1, 2, 3]
lis2 = [el * 2 for el in lis1]
print(lis2)
# [2, 4, 6]