파이썬은 다른 언어와 비교했을 때 특정 연산을 빠르게 수행하는 퍼포먼스 능력이 좋다.
파이썬은 Battery Included
라는 모토가 있듯이 다양한 모듈을 라이브러리화해서 사용할 수 있다. 또한 pip
를 이용하면 쉽게 다양한 패키지를 설치할 수 있다.
사람들이 보기에 타 언어들보다 직관성있고 쉬운 스크립트(인터프리터) 언어로 빠른 개발을 할 수 있다.
순서와 리스트의 값을 함께 반환해준다.
alpha = ['a', 'b']
for i, value in enumerate(alpha):
print("번호: ", i, ", 알파벳: ", value)
# 번호: 0 , 알파벳: a
# 번호: 1 , 알파벳: b
이중 for문을 사용하면 반복 루프 속에서 반복을 할 수 있다.
삼중 이상이고 데이터가 많아지면 매우 느린 단점을 갖고 있다.
alpha = ['a', 'b']
append_list = []
for i in range(2):
for j in alpha:
append_list.append((i, j))
print(append_list)
# [('a', 0), ('b', 0), ('a', 1), ('b', 1)]
# range를 list로 받고 싶으면
# list(range(start, stop, step))을 사용하면 된다.
# ex) list(range(1, 10, 2))
위에서 작업한 이중 for문을 더욱 간결하게 표현할 수 있다. list, set, dictionary에도 적용할 수 있다.
alpha = ['a', 'b']
append_list = [(i, j) for j in alpha for i in range(2)]
print(append_list)
# [(0, 'a'), (1, 'a'), (0, 'b'), (1, 'b')]
for 문은 코드가 다 돌아간 후 결과값을 반환한다.
만약 데이터가 1~2억개 정도로 많이 있다면 계산이 끝나기 전까지 확인하기도 힘들고,
결과값을 한번에 내보내기 위해 데이터들을 다 메모리에서 기억하고 있어야한다.
그래서 Generator 개념을 사용하자.