import time
def flatten(lst):
for item in lst:
if isinstance(item, list):
yield from flatten(item)
else:
yield item
if __name__ == "__main__":
start = time.time()
data = [1,[-2,[[4]], [0,5], [],3],[4],2,7] * 1000000
sum = 0
for e in flatten(data):
print(e, end=' ')
sum += e
if sum > 10:
break
print('\nResult :', sum)
print(f'time : {(time.time()-start) * 1000}')
#경과 시간 : 8ms(data를 1,000,000배하여 진행)
'컴퓨터 > 파이썬 공부정리' 카테고리의 다른 글
[Python] flatten 구현 - non-iterative, recursive function (0) | 2020.11.10 |
---|---|
[Python] flatten 구현 - non-iterative, recursive function (0) | 2020.11.10 |
[Python] Quick_sort 구현 - non-iterative, sorted before recursio (0) | 2020.11.10 |
[Python] quick_sort 구현 - iterator generator (0) | 2020.11.10 |
[phython] e-NFA를 DFA로 만드는 프로그램 (0) | 2020.11.10 |