Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 함수에서 리스트를 반환하는 방법 총정리

파이썬 함수에서 리스트 반환하기

파이썬에서는 return 문을 사용해 함수가 처리한 결과를 호출자에게 돌려줄 수 있습니다. 리스트 역시 하나의 객체이기 때문에 숫자나 문자열처럼 함수의 반환값으로 자유롭게 사용할 수 있습니다. 아래에서는 대표적인 방법들을 예제와 함께 살펴보겠습니다.

1. 기본적인 방법: 빈 리스트에 요소를 추가한 후 반환

가장 기본적인 패턴은 함수 안에서 빈 리스트를 만들고, 반복문으로 값을 채운 뒤 반환하는 것입니다.

def ret_list():
    result = []
    for i in range(0, 10):
        result.append(i)
    return result

a = ret_list()
print(a)

실행 결과:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2. 리스트 컴프리헨션으로 간결하게 작성하기

위 코드는 리스트 컴프리헨션(list comprehension)을 사용하면 한 줄로 줄일 수 있습니다. 파이썬다운 코드를 작성하고 싶다면 이 방식이 권장됩니다.

def ret_list():
    return [i for i in range(10)]

print(ret_list())  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

3. 여러 개의 리스트를 동시에 반환하기

파이썬에서는 튜플을 활용하면 두 개 이상의 리스트를 한 번에 반환할 수도 있습니다. 반환된 튜플은 언패킹(unpacking)을 통해 각각의 변수에 담을 수 있습니다.

def get_even_odd():
    evens = [i for i in range(10) if i % 2 == 0]
    odds = [i for i in range(10) if i % 2 == 1]
    return evens, odds

evens, odds = get_even_odd()
print(evens)  # [0, 2, 4, 6, 8]
print(odds)   # [1, 3, 5, 7, 9]

주의할 점: 내장 이름 list와의 충돌

함수 내부에서 변수 이름으로 list를 사용하는 것은 피하는 것이 좋습니다. list는 파이썬의 내장 타입이므로, 같은 이름의 변수를 선언하면 해당 범위에서 내장 타입이 가려지게 되어 이후 list() 생성자를 호출할 때 오류가 발생할 수 있습니다. 위 예제처럼 result 등 의미가 명확한 다른 이름을 사용하는 것이 바람직합니다.

정리

파이썬 함수에서 리스트를 반환하는 것은 return 문 하나면 충분합니다. 단순히 결과를 모아 반환할 수도 있고, 리스트 컴프리헨션으로 간결하게 작성하거나, 튜플을 이용해 여러 리스트를 함께 반환할 수도 있습니다. 상황에 맞는 방식을 선택하면 가독성과 유지보수성이 모두 좋아집니다.