@Enumerate
-리스트에서 값 추출할 때 인덱스 번호를 같이 추출하는 함수
실습)
# Unpacking index and value in list
for i, v in enumerate(['tic', 'tac', 'tok']):
print(i, v)
# 0 tic
# 1 tac
# 2 tok
# Unpacking the index and value in the list and saving it as a list
mylist = ['a', 'b', 'c', 'd']
print(list(enumerate(mylist)))
# [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
# Make a sentence into a list, unpack the list index and value, and save it as a dict
print({i:j for i, j in enumerate("Cat is the cutiest animal in the world.".split())})
# {0: 'Cat', 1: 'is', 2: 'the', 3: 'cutiest', 4: 'animal', 5: 'in', 6: 'the', 7: 'world.'}
@zip
-두 개의 list값을 병렬적으로 추출
실습)
# for loop + zip
# Extract values in parallel
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for a, b in zip(alist, blist):
print(a, b)
# a1 b1
# a2 b2
# a3 b3
# list comprehension + zip
# same index of each tuple is grouped together
a, b, c = zip((1, 2, 3), (10, 20, 30), (100, 200, 300))
print(a, b, c)
# (1, 10, 100) (2, 20, 200) (3, 30, 300)
# Combine the same index of each tuple and convert the sum to a list
print([sum(x) for x in zip((1, 2, 3), (10, 20, 30), (100, 200, 300))])
# [111, 222, 333]
# enumerate + zip
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for i, (a, b) in enumerate(zip(alist, blist)):
print(i, a, b)
# 0 a1 b1
# 1 a2 b2
# 2 a3 b3
'CS > Python' 카테고리의 다른 글
Asterisk (0) | 2021.01.11 |
---|---|
Lambda & MapReduce (0) | 2021.01.11 |
List Comprehension (0) | 2021.01.10 |
Split & Join (0) | 2021.01.10 |
Pythonic Code (0) | 2021.01.07 |