일단 배우기전 코드
colors = ['red', 'blue', 'black', 'white', 'green']
for i in range(len(color)):
print(i, colors[i], end=" ") // 0 red 1 blue 2 black 3 white 4 green
Enumerate 적용
colors = ['red', 'blue', 'black', 'white', 'green']
for index, value in enumerate(colors):
print(index, value, end=" ") // 0 red 1 blue 2 black 3 white 4 green
첫번째 인자값이 index, 두번째 인자값이 value 라고 생각하면 된다.
속도면에서 Enumerate가 훨씬 빠르다.
zip을 쓰기 위한 조건 두배열의 길이가 같아야함
list = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
for i, j in zip(list, list2):
print(i,j)
// 1, 6
// 2, 7
.
.
// 5, 10
print(tuple(zip(list, list2))) // ((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))
튜플로 감싸줘야지만 데이터가 나온다. tuple로 감싸지않으면 object의 주소값이 나오므로 주의!
zip을 이용하면 매우 빠름!
추가팁:
리스트(배열)가 들어오는걸 출력하는것보다 먼저 tuple로 바꾼 후 출력하는게 훨씬 빠름(빅데이터 경우)
tuple은 static값이기 때문에
파이썬의 경우 느리기때문에 이런 내장함수를 활용해서 빠르게 만드는게 좋다.