— Python
enumerate()
enumerate()
함수는 인자의 값을 추출 할 때 인덱스를 추출하는 기법이다. 함수를 사용하면 인덱스 번호와 컬렉션의 원소를 튜플 형태로 반환한다.
1lst = ['a','b','c','d']2for i in enumerate(lst):3 print(i)4
5(0,'a')6(1,'b')7(2,'c')8(3,'d')
튜플의 반환 형태를 이용해서 다음과 같이 활용 할 수 있다.
1for i, v in enumerate(['a','b','c']):2 print("index : {}, value: {}".format(i,v))3
4index : 0, value: a5index : 1, value: b6index : 2, value: c
zip()
zip()
함수는 여러 개의 순회 가능한(iterable) 객체를 인자로 받아 동일한 개수로 이루어진 자료형을 묶어서 튜플의 형태로 반환한다.
1num = [1,2,3]2alpha = ['a','b','c']3for pair in zip(num,alpha):4 print(pair)5
6(1,'a')7(2,'b')8(3,'c')
위 처럼 동일한 개수의 리스트 num과 alpha를 pair라는 투플의 형식으로 합쳐서 처리 할 수 있다.
zip()
함수로는 2개 이상의 인자를 병렬 처리 할 수 있기 때문에 다음과 같은 사용도 가능하다.
1for num,alpha,kor in zip([1,2,3],['a','b','c'],['ㄱ','ㄴ','ㄷ']):2 print(num, alpha, kor)3
41 a ㄱ52 b ㄴ63 c ㄷ
zip()
함수를 활용 하면 두 개의 리스트나 튜플로 부터 사전(dictionary)를 쉽게 만들 수 있다. key와 value를 담은 리스트를 zip()
함수로 합친 뒤, dict()
함수를 사용하는 방법이다.
1key = ['a','b','c']2value = [1,2,3]3dictionary = dict(zip(key,value))4
5print(dictionary)6
7{'a': 1, 'b': 2, 'c': 3}
인덱스와 함께 값을 추출하고 싶다면 zip()
과 함께 위에서 배운 enumerate()
함수를 활용 할 수 있다.
1alpha = ['a','b','c']2num = [1,2,3]3
4# zip은 튜플 형태를 반환하므로 (a,n)으로 묶어준다5for i,(a,n) in enumerate(zip(alpha,num)):6 print(i,a,n)7
80 a 191 b 2102 c 3