반응형
Enumerate는 리스트의 인덱스와 함께 값을 추출할 때 사용한다.
Zip은 여러 개의 리스트에서 각각의 값을 병렬적으로 가져올 때 사용한다.
Enumerate
for i,j in enumerate(['tic','tac','toe']):
print(i,j)
myList = ['a','b','c','d']
print(list(enumerate(myList)))
myTuple = {i:j for i,j in enumerate('Apple Banana Computer Dictionary Eraser Food'.split())}
print(myTuple)
0 tic
1 tac
2 toe
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
{0: 'Apple', 1: 'Banana', 2: 'Computer', 3: 'Dictionary', 4: 'Eraser', 5: 'Food'}
Zip
alist = ['a1','a2','a3']
blist = ['b1','b2','b3']
for a, b in zip(alist, blist):
print(a,b)
a1 b1
a2 b2
a3 b3
Zip 과 Enumerate를 같이 사용하면?
# zip + enumerate
for i, (a, b) in enumerate(zip(alist, blist)):
print(i,a,b)
0 a1 b1
1 a2 b2
2 a3 b3
이 때, (a,b)에서 괄호를 꼭 붙여 주어야 한다!!
리스트나 튜플에서 각각의 값을 꺼내어 새로운 리스트를 만들 수도 있다.
# 리스트 활용
cList = [1,2,3]
dList = [10,20,30]
eList = [100,200,300]
result = [sum(x) for x in zip(cList, dList, eList)]
print(result)
# 튜플 활용
aTuple = (1,2,3)
bTuple = (10,20,30)
cTuple = (100,200,300)
result = [sum(x) for x in zip(aTuple, bTuple, cTuple)]
print(result)
[111, 222, 333]
[111, 222, 333]
반응형
'AI > python' 카테고리의 다른 글
Pythonic Code - asterisk (0) | 2021.01.12 |
---|---|
Pythonic Code - Lambda & MapReduce (0) | 2021.01.11 |
Pythonic Code - List Comprehension (0) | 2021.01.10 |
파이썬 기초 끝 ! + map 함수 (0) | 2021.01.10 |
파이썬 기초 12) datetime, date 모듈 timedelta 클래스 (0) | 2021.01.10 |