1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Python for循環(huán)巧妙運用(迭代、列表生成式)

        共 2035字,需瀏覽 5分鐘

         ·

        2020-08-31 05:26

        點擊藍字關(guān)注我們

        print("Hello,World!")




        • 介紹

        我們可以通過for循環(huán)來迭代list、tuple、dict、set、字符串,dict比較特殊dict的存儲不是連續(xù)的,所以迭代(遍歷)出來的值的順序也會發(fā)生變化。

        • 迭代(遍歷)

        #!/usr/bin/env python3#-*- coding:utf-8 -*-vlist=['a','b','c']vtuple=('a','b','c')vdict={'a': 1, 'b': 2, 'c': 3}vset={'a','b','c'}vstr='abc'for x in vlist:print('list:',x)for x in vtuple:print('tuple:',x)for x in vdict:print('dict:',x)for x in vset:print('set:',x)for x in vstr:print('str:',x)


        list: alist: blist: ctuple: atuple: btuple: cdict: cdict: adict: bset: aset: bset: cstr: astr: bstr: c

        判斷一個對象是可迭代對象可以通過collections模塊的Iterable類型判斷:

        >>> from collections import Iterable>>> isinstance('abc', Iterable) True>>> isinstance([1,2,3], Iterable) True>>> isinstance(123, Iterable) False

        • 多值for操作

        >>> for x, y in [(1, 1), (2, 4), (3, 9)]:    print(x,y)

        1 12 43 9

        • 生成下標

        >>> for x, y in enumerate(['a', 'b', 'c']):    print(x, y)

        0 a1 b2 c

        • 生成列表

        1.列出1到10的平方列表

        #!/usr/bin/env python3#-*- coding:utf-8 -*-L=[]for x in range(1,11):    L.append(x*x)print(L)
        [1,?4,?9,?16,?25,?36,?49,?64,?81,?100]

        python提供了更簡便的方法處理這個需求

        >>> [x*x for x in range(1,11)][1,?4,?9,?16,?25,?36,?49,?64,?81,?100]

        2.添加判斷條件

        只取列表中的偶數(shù)

        >>> [x*x for x in range(1,11) if x%2==0][4,?16,?36,?64,?100]

        3.多個for同時判斷

        >>> [m+n for m in 'ABC' for n in'abc']['Aa',?'Ab',?'Ac',?'Ba',?'Bb',?'Bc',?'Ca',?'Cb',?'Cc']

        4.獲取dict中的value

        一般for操作只能獲取dict中的key而無法獲取到value,可以利用items獲取到values

        >>> d={'a': 'A', 'b': 'B', 'c': 'C'}>>> [k + '=' + v for k,v in d.items()]['c=C',?'a=A',?'b=B']

        注意:由于dict是單個key-value所以在for之前不能直接使用k,v for k,v這樣代表k,v是多個key而不是指key-value,所以只能進行計算,但是如果計算的話又必須保證key和value是相同的數(shù)據(jù)類型否則無法進行+操作,針對key和value是不同的數(shù)據(jù)類型可以使用普通的for循環(huán),使用print輸出

        #!/usr/bin/env python3#-*- coding:utf-8 -*-d={'a': 1, 'b': 2,'c': 3}for k,v in d.items():????print(k,'=',v)

        5.list中所有的字符串變成小寫

        >>> L = ['Hello', 'World', 'IBM', 'Apple']>>> [s.lower() for s in L]['hello',?'world',?'ibm',?'apple']

        • 總結(jié)

        python語法太巧妙了,主要歸結(jié)于它強大的庫,讓使用python可以少寫很多底層的代碼。







        ?? - end -??


        微信號 : coding_club

        ●?掃碼關(guān)注我們

        覺得內(nèi)容還不錯的話,給我點個“在看”唄




        瀏覽 54
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            干了四年的金毛都没事 | 公交车上的最后一排座位 | 侵犯希岛あいり | 韩日午夜在线资源一区二区 | 91久久极品 | 欧美在线观看视频 | 一级A片处破外女免费 | 国模欢欢大尺度 | 久久一级毛片一区二区性色xxxx | 国产黄视频在线观看 |