for in

  • iterable와 같은 반복가능한 객체의 요소를 반환
alist = ['a1', 'a2', 'a3']
for item in alist:
    print(item)
# a1
# a2
# a3

range

  • range([시작,] 종료[, step])
  • 시작 숫자부터 종료 숫자 바로 앞 숫자까지 컬렉션을 만듬
for i in range(5):
    print(i)
#0
#1
#2
#3
#4
for i in range(1, 5):
    print(i)
#1
#2
#3
#4
for i in range(0, 5, 2):
    print(i)
#0
#2
#4

Enumerate

  • 열거하다라는 뜻으로 순서가 있는 자료형 (리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴
  • 첨자가 필요한 경우 사용
  • 순서와 리스트의 값을 전달하는 기능
for i, v in enumerate(['tic', 'tac', 'toe']):
    print(i, v)
# 결과 값
0 tic
1 tac
2 toe
result = {i : j for i, j in enumerate("""The Dark Tower is a series of eight books and one short story written by American author Stephen KIng""".split())}
print(result)
# 결과 값
{0: 'The', 1: 'Dark', 2: 'Tower', 3: 'is', 4: 'a', 5: 'series', 6: 'of', 7: 'eight', 8: 'books', 9: 'and', 10: 'one', 11: 'short', 12: 'story', 13: 'written', 14: 'by', 15: 'American', 16: 'author', 17: 'Stephen', 18: 'KIng'}

ZIP

  • 대응되는 요소끼리 묶어서 튜플로 만들어 줌
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3', 'b4']
for a, b in zip(alist, blist):
    print(a, b)
# 결과 값
a1 b1
a2 b2
a3 b3
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)
result = [sum(x) for x in zip((1, 2, 3), (10, 20, 30), (100, 200, 300))]
print(result)
# 결과 값
[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