最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 字典item與iteritems的區(qū)別詳解

 更新時(shí)間:2020年04月25日 09:15:34   作者:zqhhuiyi  
這篇文章主要介紹了python 字典item與iteritems的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

綜述迭代器

對(duì)于原生支持隨機(jī)訪問的數(shù)據(jù)結(jié)構(gòu)(如tuple、list),迭代器和經(jīng)典for循環(huán)的索引訪問相比并無(wú)優(yōu)勢(shì),反而丟失了索引值(可以使用內(nèi)建函數(shù)enumerate()找回這個(gè)索引值)。但對(duì)于無(wú)法隨機(jī)訪問的數(shù)據(jù)結(jié)構(gòu)(比如set)而言,迭代器是唯一的訪問元素的方式。

另外,迭代器的一大優(yōu)點(diǎn)是不要求事先準(zhǔn)備好整個(gè)迭代過程中所有的元素。迭代器僅僅在迭代到某個(gè)元素時(shí)才計(jì)算該元素,而在這之前或之后,元素可以不存在或者被銷毀。這個(gè)特點(diǎn)使得它特別適合用于遍歷一些巨大的或是無(wú)限的集合,比如幾個(gè)G的文件,或是斐波那契數(shù)列等等。

迭代器更大的功勞是提供了一個(gè)統(tǒng)一的訪問集合的接口,只要定義了iter()方法對(duì)象,就可以使用迭代器訪問。

例如:

List = [1,2,3]
L = List.__iter__()
>>> L.next()
1
>>> L.next()
2
>>> L.next()
3

為什么使用迭代器

for i in range(1000): pass
for i in xrange(1000): pass

前一個(gè)返回1000個(gè)元素的列表,而后一個(gè)在每次迭代中返回一個(gè)元素,因此可以使用迭代器來(lái)解決復(fù)用可占空間的問題

class Fab(object): 
 def __init__(self, max): 
 self.max = max
 self.n, self.a, self.b = 0, 0, 1

 def __iter__(self): 
 return self

 def next(self): 
 if self.n < self.max: 
  r = self.b 
  self.a, self.b = self.b, self.a + self.b 
  self.n = self.n + 1
  return r 
 raise StopIteration()

Fab 類通過 next() 不斷返回?cái)?shù)列的下一個(gè)數(shù),內(nèi)存占用始終為常數(shù) 

示例代碼2

def fab(max):
 n, a, b = 0, 0, 1
 while n < max:
 yield b
 a, b = b, a + b
 n = n = 1

簡(jiǎn)單地講,yield 的作用就是把一個(gè)函數(shù)變成一個(gè) generator,帶有 yield 的函數(shù)不再是一個(gè)普通函數(shù),Python 解釋器會(huì)將其視為一個(gè) generator,調(diào)用 fab(5) 不會(huì)執(zhí)行 fab 函數(shù),而是返回一個(gè) iterable 對(duì)象!

在 for 循環(huán)執(zhí)行時(shí),每次循環(huán)都會(huì)執(zhí)行 fab 函數(shù)內(nèi)部的代碼,執(zhí)行到 yield b 時(shí),fab 函數(shù)就返回一個(gè)迭代值,下次迭代時(shí),代碼從 yield b 的下一條語(yǔ)句繼續(xù)執(zhí)行,而函數(shù)的本地變量看起來(lái)和上次中斷執(zhí)行前是完全一樣的,于是函數(shù)繼續(xù)執(zhí)行,直到再次遇到 yield。

看起來(lái)就好像一個(gè)函數(shù)在正常執(zhí)行的過程中被 yield 中斷了數(shù)次,每次中斷都會(huì)通過 yield 返回當(dāng)前的迭代值。

以上這篇python 字典item與iteritems的區(qū)別詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)時(shí)監(jiān)控logstash日志代碼

    python實(shí)時(shí)監(jiān)控logstash日志代碼

    這篇文章主要介紹了python實(shí)時(shí)監(jiān)控logstash日志代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-04-04
  • 詳解用python寫一個(gè)抽獎(jiǎng)程序

    詳解用python寫一個(gè)抽獎(jiǎng)程序

    這篇文章主要介紹了用python寫一個(gè)抽獎(jiǎng)程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python小程序之在圖片上加入數(shù)字的代碼

    Python小程序之在圖片上加入數(shù)字的代碼

    這篇文章主要介紹了Python小程序之在圖片上加入數(shù)字的代碼,這個(gè)是小編今天練手的小程序,代碼簡(jiǎn)單易懂,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python3調(diào)用windows dos命令的例子

    python3調(diào)用windows dos命令的例子

    今天小編就為大家分享一篇python3調(diào)用windows dos命令的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-08-08
  • python使用turtle庫(kù)寫六角形的思路與代碼

    python使用turtle庫(kù)寫六角形的思路與代碼

    學(xué)習(xí)Python,接觸到turtle包,就用它來(lái)畫一下六邊形,下面這篇文章主要給大家介紹了關(guān)于python使用turtle庫(kù)寫六角形的思路與代碼,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 解讀torch.nn.GRU的輸入及輸出示例

    解讀torch.nn.GRU的輸入及輸出示例

    這篇文章主要介紹了解讀torch.nn.GRU的輸入及輸出示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python中文檔生成利器Sphinx的入門指南

    Python中文檔生成利器Sphinx的入門指南

    在Python開發(fā)過程中,良好的文檔是項(xiàng)目成功的關(guān)鍵之一,Sphinx是一個(gè)強(qiáng)大的文檔生成工具,本文將為大家詳細(xì)介紹Sphinx的具體使用,需要的可以參考下
    2025-01-01
  • python找出因數(shù)與質(zhì)因數(shù)的方法

    python找出因數(shù)與質(zhì)因數(shù)的方法

    這篇文章主要介紹了python找出因數(shù)與質(zhì)因數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python中使用print輸出中文的方法

    python中使用print輸出中文的方法

    今天小編就為大家分享一篇python中使用print輸出中文的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-07-07
  • Python接口自動(dòng)化淺析logging日志原理及模塊操作流程

    Python接口自動(dòng)化淺析logging日志原理及模塊操作流程

    這篇文章主要為大家介紹了Python接口自動(dòng)化系列文章淺析logging日志原理及模塊操作流程,文中詳細(xì)說(shuō)明了為什么需要日志?日志是什么?以及日志用途等基本的原理
    2021-08-08

最新評(píng)論

即墨市| 洞头县| 台州市| 历史| 克东县| 黄浦区| 军事| 旺苍县| 阜宁县| 阜宁县| 美姑县| 太仆寺旗| 明星| 宿迁市| 华容县| 长宁区| 广宁县| 衡东县| 墨玉县| 咸丰县| 茌平县| 岢岚县| 舟山市| 顺义区| 宽城| 扎兰屯市| 徐水县| 隆安县| 遂昌县| 大厂| 滦平县| 奉化市| 昭苏县| 达孜县| 乐东| 仙居县| 南投市| 习水县| 安图县| 东明县| 应城市|