出去打工和儿子租房
  • 迭代器和生成器的區別?

    2020-06-10 09:20發布

    28條回答
    愛學習的蝸牛
    1樓 · 2020-06-10 09:43.采納回答

    迭代器與生成器的區別:
    (1)生成器:
    生成器本質上就是一個函數,它記住了上一次返回時在函數體中的位置。
    對生成器函數的第二次(或第n次)調用,跳轉到函數上一次掛起的位置。
    而且記錄了程序執行的上下文。
    生成器不僅“記住”了它的數據狀態,生成器還記住了程序執行的位置。

    (2)迭代器

    迭代器是一種支持next()操作的對象。它包含了一組元素,當執行next()操作時,返回其中一個元素。
    當所有元素都被返回后,再執行next()報異?!猄topIteration
    生成器一定是可迭代的,也一定是迭代器對象

    (3)區別:
    ①生成器是生成元素的,迭代器是訪問集合元素的一中方式
    ②迭代輸出生成器的內容
    ③迭代器是一種支持next()操作的對象
    ④迭代器(iterator):其中iterator對象表示的是一個數據流,可以把它看做一個有序序列,但我們不能提前知道序列的長度,只有通過nex()函數實現需要計算的下一個數據??梢钥醋錾善鞯囊粋€子集。


    mrliang
    2樓 · 2020-07-07 09:29

    一句話來解釋:迭代器是用來訪問的有next操作,生成器,肯定是用來生成的啊。加油。

    我自己打call
    3樓 · 2020-08-12 19:39
    迭代器和生成器的區別
    
    如果說迭代器是以類為基礎的單位產生器,那么生成器(generator)就是以函數為基礎的單位產生器。也就是說,迭代器和生成器都是一個值一個值得生產,每迭代一次,只能得到一個值,
    
    所不同的是,迭代器需要在類中定義__iter__和__next__方法,在使用時需要創建迭代器的實例。而生成器是通過一個函數展現的,可以直接調用,
    
    所以從某種意義上來說,生成器在使用上更簡潔。


    善良的瓊瓊姐
    4樓 · 2020-08-14 17:19

    迭代器是一個更抽象的概念,任何對象,如果它的類有 next 方法和 iter 方法返回自己本身,對于 string、list、
    dict、tuple 等這類容器對象,使用 for 循環遍歷是很方便的。在后臺 for 語句對容器對象調用 iter()函數,iter()
    是 python 的內置函數。iter()會返回一個定義了 next()方法的迭代器對象,它在容器中逐個訪問容器內元素,next()
    也是 python 的內置函數。在沒有后續元素時,next()會拋出一個 StopIteration 異常。


    生成器(Generator)是創建迭代器的簡單而強大的工具。它們寫起來就像是正規的函數,只是在需要返回數
    據的時候使用 yield 語句。每次 next()被調用時,生成器會返回它脫離的位置(它記憶語句最后一次執行的位置
    和所有的數據值)


    梵梵
    5樓 · 2020-08-25 16:29
    生成器是生成元素的,迭代器是訪問集合元素的一中方式,迭代輸出生成器的內容。
    淺淺77
    6樓 · 2020-09-16 10:42

    生成器能做到迭代器能做的所有事,而且因為自動創建了 iter()和 next()方法,生成器顯得特別簡潔,而且生成器也是高效的,使用生成器表達式取代列表解析可以同時節省內存。除了創建和保存程序狀態的自動方法,當發生器終結時,還會自動拋出 StopIteration 異常。


    freediandianer
    7樓 · 2020-09-16 14:32

    1、迭代器(iterator)是一個實現了迭代器協議的對象,python的一些內置數據類型(列表,數組,字符串,字典等)都可以通過for語句進行迭代,我們也可以自己創建一個容器,實現了迭代器協議,可以通過for,next方法進行迭代,在迭代的末尾,會引發stopIteration異常。

    2、生成器(generator)是通過yield語句快速生成迭代器,可以不用iter和next方法


    像風沒有歸宿
    8樓 · 2020-09-21 10:58

    迭代器是一個更抽象的概念,任何對象,如果它的類有 next 方法和 iter 方法返回自己本身

    9樓 · 2020-09-28 09:06

    迭代器是用來幫助我們記錄每次迭代訪問到的位置,當我們對迭代器使用next()函數的時候,迭代器會向我們返回它所記錄位置的下一個位置的數據。實際上,在使用next()函數的時候,調用的就是迭代器對象的_next_方法(Python3中是對象的_next_方法,Python2中是對象的next()方法)。所以,我們要想構造一個迭代器,就要實現它的_next_方法。但這還不夠,python要求迭代器本身也是可迭代的,所以我們還要為迭代器實現_iter_方法,而_iter_方法要返回一個迭代器,迭代器自身正是一個迭代器,所以迭代器的_iter_方法返回自身self即可。

    相關問題推薦

    • 回答 3

      換行。比如,print hello\nworld效果就是helloworld\n就是一個換行符。\是轉義的意思,'\n'是換行,'\t'是tab,'\\'是,\ 是在編寫程序中句子太長百,人為換行后加上\但print出來是一整行。...

    • 回答 42

      十種常見排序算法一般分為以下幾種:(1)非線性時間比較類排序:a. 交換類排序(快速排序、冒泡排序)b. 插入類排序(簡單插入排序、希爾排序)c. 選擇類排序(簡單選擇排序、堆排序)d. 歸并排序(二路歸并排序、多路歸并排序)(2)線性時間非比較類排序:...

    • 回答 70
      已采納

      前景很好,中國正在產業升級,工業機器人和人工智能方面都會是強烈的熱點,而且正好是在3~5年以后的時間。難度,肯定高,要求你有創新的思維能力,高數中的微積分、數列等等必須得非常好,軟件編程(基礎的應用最廣泛的語言:C/C++)必須得很好,微電子(數字電...

    • 回答 9

      title()方法返回所有單詞的第一個字符大寫的字符串的一個副本

    • 回答 1

      head是方法,所以需要取小括號,即dataset.head()顯示的則是前5行。data[:, :-1]和data[:, -1]。另外,如果想通過位置取數據,請使用iloc,即dataset.iloc[:, :-1]和dataset.iloc[:, -1],前者表示的是取所有行,但不包括最后一列的數據,結果是個DataFrame。...

    • 回答 6

      第一種解釋:代碼中的cnt是count的簡稱,一種電腦計算機內部的數學函數的名字,在Excel辦公軟件中計算參數列表中的數字項的個數;在數據庫(?sq|?server或者access?)中可以用來統計符合條件的數據條數。函數COUNT在計數時,將把數值型的數字計算進去;但是...

    • 回答 4

      32這個鏈式比較,在其他人看起來很正常,但是python這樣做之前,對大部分主流語言來說其實都算不正常。為什么返回true呢,就和非程序員看到的一樣。鏈式比較就是一語法糖,讓你想表達2<x<5的時候能原樣寫上去,而不是寫成x > 2 && x < 5。能少寫一點,可...

    • 回答 4

      Python針對眾多的類型,提供了眾多的內建函數來處理(內建是相對于導入import來說的,后面學習到包package時,將會介紹),這些內建函數功用在于其往往可對多種類型對象進行類似的操作,即多種類型對象的共有的操作;如果某種操作只對特殊的某一類對象可行,Pyt...

    • 回答 8

      ?相當于 ... 這里不是注釋

    • 回答 4

      還有FIXME

    • 回答 3

      python的兩個庫:xlrd和xlutils。 xlrd打開excel,但是打開的excel并不能直接寫入數據,需要用xlutils主要是復制一份出來,實現后續的寫入功能。

    • 回答 8

      單行注釋:Python中的單行注釋一般是以#開頭的,#右邊的文字都會被當做解釋說明的內容,不會被當做執行的程序。為了保證代碼的可讀性,一般會在#后面加一兩個空格然后在編寫解釋內容。示例:#? 單行注釋print(hello world)注釋可以放在代碼上面也可以放在代...

    • 回答 2

      主要是按行讀取,然后就是寫出判斷邏輯來勘測行是否為注視行,空行,編碼行其他的:import linecachefile=open('3_2.txt','r')linecount=len(file.readlines())linecache.getline('3_2.txt',linecount)這樣做的過程中發現一個問題,...

    • 回答 4

      或許是里面有沒被注釋的代碼

    • 回答 26

      自學的話要看個人情況,可以先在B站找一下視頻看一下

    沒有解決我的問題,去提問
    出去打工和儿子租房