파이썬/강의
[구름] 2일차
낑깡H
2022. 11. 8. 17:21
Generator
더보기
range 함수처럼 요소를 하나씩 생성해서 반환하는 객체
함수 내부에 yield 를 사용할 시 generator 가 됨.
yield 하는 위치에서 값을 반환
다시 값을 요청받게 되면 yield 다음부터 실행
Return 될 경우 반복을 멈춤.
메모리 효율적임.
def _range(stop):
num = 0
while num < stop:
yield num
num += 1
for i in _range(5):
print(i)
내장함수 Any, All : Iterable 내부에 하나라도 참, 모두 참
아스테리크* 와 언패킹
arr = [[1,2,3], [4,5,6], [7,8,9]]
for row in arr:
print(row) # [(1,2,3), (4,5,6), (7,8,9)]
for col in zip(*arr):
print(col) #[(1,4,7),(2,5,8),(3,6,9)]
seq2 = zip(*seq1) 의 역연산은 seq1 = zip(*seq2)
Enumerate
seq = ["this" , "is", "sentence"]
for i in range(len(seq)):
print(i, seq[i])
를 대신하여
seq = ["this" , "is", "sentence"]
for i, word in enumerate(seq):
print(i, word)