<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        舉例講解如何在Python編程中進行迭代和遍歷

        來源:懂視網 責編:小采 時間:2020-11-27 14:35:11
        文檔

        舉例講解如何在Python編程中進行迭代和遍歷

        舉例講解如何在Python編程中進行迭代和遍歷:迭代 首先理解下什么是迭代,python中所有從左往右掃面對象的方式都是可迭代的 有哪些方式是可迭代的: 1.文件操作 我們讀取文件的時候,會用到一個readline()方法,其實它就是一個迭代器,它會返回當前的數據,然后自動的調用內置的next()方法來讓文件的讀
        推薦度:
        導讀舉例講解如何在Python編程中進行迭代和遍歷:迭代 首先理解下什么是迭代,python中所有從左往右掃面對象的方式都是可迭代的 有哪些方式是可迭代的: 1.文件操作 我們讀取文件的時候,會用到一個readline()方法,其實它就是一個迭代器,它會返回當前的數據,然后自動的調用內置的next()方法來讓文件的讀

        迭代
        首先理解下什么是迭代,python中所有從左往右掃面對象的方式都是可迭代的

        有哪些方式是可迭代的:

        1.文件操作

        我們讀取文件的時候,會用到一個readline()方法,其實它就是一個迭代器,它會返回當前的數據,然后自動的調用內置的next()方法來讓文件的讀取頭自動的移動到當前的下面一行,準備下次的讀取,到達文件末尾時,就會返回空字符串.

        >>> f=open('hello.py')
        >>> f.readline()
        '#!/usr/bin/python2.5
        '
        >>> f.readline()
        'print "hello.word!"
        '
        >>> f.readline()
        '
        '
        >>> f.readline()
        ''
         
        >>> for i in open('hello.py'):
        ... print(i)
        ... 
        #!/usr/bin/python2.5
        print "hello.word!"
        

        用上面這樣方式來讀取文件內容的話,速度很快,內存占用也比較低,特別適合操作大文件.

        下面這個方式適合操作一些小的文件,速度和效率沒有上面的好,所以建議以后操作文件的話,盡量用上面的。

        >>> for i in open('hello.py').readlines():
        ... print i
        ... 
        #!/usr/bin/python2.5
        print "hello.word!"
        

        read方法和readline方法,
        read()方法把整個文件的內容放到字符串里
        readline()方法則把文件的內容按照行為單位放到列表里。
        一般要替換文件里的某個字符的話,最好有readline,然后用循環把一行一行內容循環出來,再查找替換,這樣效率比整個讀到一個字符串里來查找匹配效果更高。

        2 for循環

        例如:

        >>> for i in range(5):
        ... print(i)
        ... 
        
        

        它中間處理的過程和下面的是一樣的:

        >>> L=[0,1,2,3,4]
        >>> I=iter(L)
        >>> I.next()
        0
        >>> I.next()
        1
        >>> I.next()
        2
        >>> I.next()
        3
        >>> I.next()
        4
        >>> I.next()
        

        Traceback (most recent call last):
         File "", line 1, in 
        StopIteration
        

        每次調用迭代器調用next()方法返回結果,并讓文件指針往下移動一行,最后已StopIteration異常結束迭代。


        3.列表解析:

        相比python for循環速度會快很多

        例如:

        >>> L=[x+10 for x in range(10)]
        >>> L
        

        [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
        python會在解釋器里對range(10)進行迭代,依次把列表里的內容取出來,賦值給最左邊的x,然后執行x+10的操作,
        并且把執行好的結果保存在列表里。等range(10)迭代完以后就新生成了一個列表,結果就是[10,11,12,13,14,15,16,17,18,19]
        從上面可以看出,這也是建立python 列表的一個方法。

        上面例子也可以用for循環來實現.

        >>> res=[]
        >>> for x in range(10):
        ... res.append(x+10)
        ... 
        >>> res
        [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
        

        從上面可以看出,python列表解析比手動的for 更加精簡,而且運行的更快(往往速度回快一倍),因為他們的迭代在解析器內部是以C語言的速度執行的,而不是以手動python代碼執行的,特別對于較大的數據集合,這是使用列表解析的一個主要的性能優點.

        遍歷
        1.通過序列取元素的方法進行遍歷

        root@10.1.6.200:python# vim 3.py 
        

        #!/usr/bin/python2.5
        for i in 'hello': #序列里的字符串
         print i,
         
        y = [1,2,3,4,5,6] #列表
        for i in y:
         print i,
        

        root@10.1.6.200:python# python 3.py 
        

        h e l l o 1 2 3 4 5 6
        

        2.通過序列本身偏移指數(索引)的方法進行遍歷

        也就是迭代序列索引,注:迭代,重復執行一條指令.

        root@10.1.6.200:python# vim 3.py 
        

        #!/usr/bin/python2.5
        x='hello'
        for i in range(len(x)):
         print x[i]
         
        y = [1,2,3,4,5,6]
        for i in range(len(y)):
         print y[i],
        

        root@10.1.6.200:python# python 3.py 
        

        h e l l o 1 2 3 4 5 6
        
        

        字典有2種方式取到其值:

        1.先取字典key,在取索引的值

        root@10.1.6.200:python# vim 5.py 
        

        #!/usr/bin/python2.5
        z = {1:'a',2:'b',3:'c'}
        for i in z:
         print z[i]
        

        root@10.1.6.200:python# python 5.py 
        

        a
        b
        c
        

        2.通過字典items方法,獲取所有鍵值對,在利用元組拆分的方法獲得對應值.

        root@10.1.6.200:python# cat 5.py 
        

        #!/usr/bin/python2.5
        z = {1:'a',2:'b',3:'c'}
        print z.items()
        for m,n in z.items():
         print m,n 
        

        root@10.1.6.200:python# python 5.py

        [(1, 'a'), (2, 'b'), (3, 'c')]
        1 a
        2 b
        3 c

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        舉例講解如何在Python編程中進行迭代和遍歷

        舉例講解如何在Python編程中進行迭代和遍歷:迭代 首先理解下什么是迭代,python中所有從左往右掃面對象的方式都是可迭代的 有哪些方式是可迭代的: 1.文件操作 我們讀取文件的時候,會用到一個readline()方法,其實它就是一個迭代器,它會返回當前的數據,然后自動的調用內置的next()方法來讓文件的讀
        推薦度:
        標簽: python 迭代 遍歷
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女露隐私全部免费直播| 亚洲精品中文字幕麻豆| 午夜亚洲WWW湿好爽| 午夜高清免费在线观看| 最新国产成人亚洲精品影院| 日本在线高清免费爱做网站| 国产成人精品日本亚洲18图| 日韩精品无码区免费专区| 亚洲色一区二区三区四区| 日本特黄特黄刺激大片免费| 激情婷婷成人亚洲综合| 亚洲无码精品浪潮| 三年片免费高清版| 亚洲一区二区三区四区在线观看| 1000部拍拍拍18勿入免费视频软件 | 国产99在线|亚洲| 无码国模国产在线观看免费| 男女猛烈激情xx00免费视频| 国产亚洲精品成人a v小说| 全免费a级毛片免费看| 久久久久se色偷偷亚洲精品av | 亚洲精品黄色视频在线观看免费资源| 九九久久国产精品免费热6| 亚洲人成网77777色在线播放| 无码精品一区二区三区免费视频| 亚洲欧洲综合在线| 国产精品无码素人福利免费| 99久久免费国产精品热| 亚洲精品在线免费看| 免费v片在线观看| 免费A级毛片无码专区| 亚洲精品动漫免费二区| 亚洲成AV人片一区二区密柚| 四虎永久在线精品免费网址| 男女男精品网站免费观看| 91亚洲va在线天线va天堂va国产 | 亚洲国产成人久久综合一| 18禁亚洲深夜福利人口| 亚洲深深色噜噜狠狠爱网站| 很黄很黄的网站免费的| 免费视频成人国产精品网站|