파이썬/강의

[구름] 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)