posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Python 學(xué)習(xí)筆記 (5)

          Posted on 2007-08-15 00:07 ZelluX 閱讀(407) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Scripting

          1. 交換x和y的值  [x, y] = [y, x]

          2. zip()方法把幾個(gè)lists的第i個(gè)元素合成一個(gè)tuple,放在一個(gè)新的list中。
          zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]

          函數(shù)式編程相關(guān)

          1.  Mapping
          map() 方法對(duì)序列中的每個(gè)元素調(diào)用某個(gè)函數(shù),返回新生成的結(jié)果序列。
          有點(diǎn)類(lèi)似于Ruby的Array.each do | element |
          >>> z = map(len, ["abc", "clounds", "rain"])
          >>> z
          [3, 6, 4]

          2. Filtering
          過(guò)濾掉滿(mǎn)足條件的元素,類(lèi)似與Array.reject do | element |
          >>> x = [5,12,-2,13]
          >>> y = filter(lambda z: z > 0, x)
          >>> y
          [5, 12, 13]

          3. List Comprehension
          來(lái)個(gè)復(fù)雜的例子
          >>> y
          [[0, 2, 22], [1, 5, 12], [2, 3, 33]]
          >>> [a for b in y for a in b[1:]]
          [2, 22, 5, 12, 3, 33]

          4. Reduction
          先看示例
          >>> x = reduce(lambda x,y: x+y, range(5))
          >>> x
          10
          執(zhí)行的順序是:首先調(diào)用函數(shù)處理range(5)前兩個(gè)值,0 + 1 = 1,然后返回的值1作為x,繼續(xù)與range(5)的第三個(gè)值(2,作為y)。
          最后的結(jié)果是0+1+2+3+4的值
          這個(gè)常用來(lái)代替for循環(huán)

          主站蜘蛛池模板: 鸡东县| 保定市| 芒康县| 沐川县| 略阳县| 绿春县| 阳信县| 东海县| 岑巩县| 武邑县| 仁寿县| 武定县| 察哈| 繁峙县| 西畴县| 育儿| 鸡泽县| 河北省| 丹江口市| 江口县| 黎川县| 岑溪市| 迭部县| 石楼县| 武山县| 邹平县| 弋阳县| 兰坪| 姜堰市| 呼图壁县| 黑龙江省| 和政县| 张掖市| 清徐县| 湘潭市| 黑山县| 钦州市| 遵义县| 大田县| 岐山县| 大港区|