Python

[파이썬] enumerate와 args 사용하기

paintover23 2023. 10. 20. 15:30
728x90

 

[args]

 

파이썬에서 함수 사용시에 인자를 한 개 이상 복수로 받아오는 경우가 있다. 이때 유용하게 쓸 수 있는 것이 *args와 enumerate이다.

*args는 arguments의 준말이다. 그러나 *다음에 어떤 이름이 와도 상관은 없다. *input 이렇게 쓸 수도 있다는 말이다.

def args_func(*hello):
    print(hello)

args_func("lee")
args_func("lee", "kim")
args_func("lee", "kim", "park")

위와 같이 인자를 1개, 2개, 3개씩 그 수를 다르게 받아왔다. 출력은 어떻게 될까?

# 출력
('lee',)
('lee', 'kim')
('lee', 'kim', 'park')

이렇게 출력될 것이다. 그리고 args의 출력값은 튜플 형식인 ("lee", "kim", "park") 과 같이 담긴다.

 

[enumerate]

반복문 사용시 몇 번째 반복문인지 확인이 필요할 수 있다. 그럴때 사용하는 것이 enumerate이다. enumerate는 인덱스와 원소를 마찬가지로 tuple 형태로 반환한다. for in  반복문과 위에서 배운 args를 활용하여 enumerate 예제를 학습해보자.

 

예제. 1

t = [1, 5, 7, 33, 39, 52]
for p in enumerate(t):
	print(p)

(0, 1)
(1, 5)
(2, 7)
(3, 33)
(4, 39)
(5, 52)

 

예제. 2

def args_func(*args):
    for i, v in enumerate(args):  # 인덱스와 원소를 받아옴
        print(i, v)

args_func("hello")
args_func("hello", "world")

이러한 함수가 있다고 할 때, 반환값은 다음과 같이 나온다:

0 hello
0 hello
1 world

 

 

참고자료: https://wikidocs.net/16045

 

 

728x90
반응형