(python) for 반복문에서 자주 사용되는 함수들의 차이와 활용

2023. 4. 21. 14:36학습/python

for 반복문은 python 에서 가장 자주 사용되는 반복문 문법 중 하나이다.

내가 자주 사용하는 문법을 정리해본다.

 

1. range()
range 함수는 연속된 정수 시퀀스를 생성하는 데 사용됩니다. for 반복문과 함께 사용하면 특정 횟수만큼 반복을 수행할 수 있습니다.

for i in range(5): # 0부터 4까지 총 5번 반복
    print(i)

 

2. zip()

zip 함수는 여러 개의 이터러블(리스트, 튜플 등)을 인수로 받아 동시에 순회할 수 있도록 도와줍니다. for 반복문과 함께 사용하면 여러 개의 이터러블을 동시에 순회하며 작업을 수행할 수 있습니다.

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(name, age)

 

3. enumerate()

enumerate 함수는 이터러블을 입력으로 받아 인덱스와 함께 각 요소를 반환합니다. for 반복문과 함께 사용하면 이터러블을 순회하며 해당 요소의 인덱스와 값을 동시에 얻을 수 있습니다.

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(index, fruit)

 

정리

range()는 정수 시퀀스를 생성하여 순회하는 데 사용되고, 
zip()은 여러 이터러블을 동시에 순회하는 데 사용되며, 
enumerate()는 이터러블의 인덱스와 값을 동시에 반환하여 순회하는 데 사용됩니다.

 

 

 

cf. 추가로 유용한 함수들

 

4. filter()

filter() 함수는 이터러블의 요소 중 특정 조건에 맞는 요소만 필터링해 반환합니다. 

for 반복문과 함께 사용하여 특정 조건을 만족하는 요소들만 순회할 수 있습니다.

def is_even(number):
    return number % 2 == 0

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = filter(is_even, numbers)

for even_number in even_numbers: # == for even_number in filter(is_even, numbers):
    print(even_number)

 

5. map()

map() 함수는 이터러블의 각 요소에 함수를 적용한 결과를 반환합니다.

for 반복문과 함께 사용하여 이터러블의 요소에 함수를 적용한 결과를 순회하며 작업을 수행할 수 있습니다.

def square(x):
    return x * x

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)

for squared_number in squared_numbers:
    print(squared_number)

 

6. sorted()

sorted() 함수는 이터러블의 요소를 정렬한 새로운 리스트를 반환합니다. 

for 반복문과 함께 사용하여 정렬된 요소들을 순회하며 작업을 수행할 수 있습니다.

numbers = [5, 2, 7, 1, 8, 3]
sorted_numbers = sorted(numbers)

for number in sorted_numbers:
    print(number)

 

7. itertools 라이브러리

itertools 라이브러리는 for 반복문과 함께 사용할 수 있는 다양한 이터레이터 생성 함수를 제공합니다.

예를 들어, itertools.permutations, itertools.combinations, itertools.cycle 등의 함수를 사용하여 반복 작업을 수행할 수 있습니다.

import itertools

items = ['A', 'B', 'C']
permutations = itertools.permutations(items, 2)

for permutation in permutations:
    print(permutation)

# 격과값
('A', 'B')
('A', 'C')
('B', 'A')
('B', 'C')
('C', 'A')
('C', 'B')

 

 

 

map, itertools  나중에 추가 공부
728x90