Re: py

看板 Marginalman
作者 cities516 (小佐內ゆき)
時間 2024-09-19 20:03:00
留言 5則留言 (0推 0噓 5→)

: 列表生成式 : ls = [x * x for x in range(1000000)] : 生成器(Generator) : ls = (x * x for x in range(1000000)) : 前者會生成一個列表 並占用1000000空間的內存 : 後者則返回生成器 生成器在迭代時才會生成元素 : 所以能節省空間 我剛上網找生成器的東西 然後又學到新的東西了 def my_generator(): for i in range(5): yield i * i for num in my_generator(): print(num) 用function和yield寫生成器 跟return對立 在無限數列上 生成器就很好用 def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b fib = fibonacci() for i in range(10): print(fib.__next__()) # 或使用 next(fib) python也很有料欸 怎麼我以前都沒學過這些 -- https://i.imgur.com/tDUrHwI.gif
--
※ 批踢踢實業坊(ptt.cc), 來自: 118.169.8.175 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726747382.A.FA0.html

sustainer123: 生成器在處理大數據很好用 可以逐行讀取省空間 09/19 20:05

cities516: 跟直接call一個list出來對比 省太多了 09/19 20:05

sustainer123: list就一次全部東西都丟給你 09/19 20:05

sustainer123: 生成器就你呼叫他才生東西 09/19 20:06

cities516: 肥肥還停留在pandas蝦機八select的等級:( 09/19 20:10

您可能感興趣