<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2035字,需瀏覽 5分鐘

           ·

          2020-08-31 05:26

          點(diǎn)擊藍(lán)字關(guān)注我們

          print("Hello,World!")




          • 介紹

          我們可以通過(guò)for循環(huán)來(lái)迭代list、tuple、dict、set、字符串,dict比較特殊dict的存儲(chǔ)不是連續(xù)的,所以迭代(遍歷)出來(lái)的值的順序也會(huì)發(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

          判斷一個(gè)對(duì)象是可迭代對(duì)象可以通過(guò)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

          • 生成下標(biāo)

          >>> 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提供了更簡(jiǎn)便的方法處理這個(gè)需求

          >>> [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.多個(gè)for同時(shí)判斷

          >>> [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而無(wú)法獲取到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是單個(gè)key-value所以在for之前不能直接使用k,v for k,v這樣代表k,v是多個(gè)key而不是指key-value,所以只能進(jìn)行計(jì)算,但是如果計(jì)算的話又必須保證key和value是相同的數(shù)據(jù)類型否則無(wú)法進(jìn)行+操作,針對(duì)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中所有的字符串變成小寫(xiě)

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

          • 總結(jié)

          python語(yǔ)法太巧妙了,主要?dú)w結(jié)于它強(qiáng)大的庫(kù),讓使用python可以少寫(xiě)很多底層的代碼。







          ?? - end -??


          微信號(hào) : coding_club

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

          覺(jué)得內(nèi)容還不錯(cuò)的話,給我點(diǎn)個(gè)“在看”唄




          瀏覽 54
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲中文在线视频 | 黄色A片免费视屏观看 | 苍井空最新一区二区三区电影 | www…黄色在线免费观看 x8x8拨牐拨牐精品视频 | 亚洲日韩一级 |