posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Python 學習筆記 (5)

          Posted on 2007-08-15 00:07 ZelluX 閱讀(402) 評論(0)  編輯  收藏 所屬分類: Scripting

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

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

          函數式編程相關

          1.  Mapping
          map() 方法對序列中的每個元素調用某個函數,返回新生成的結果序列。
          有點類似于Ruby的Array.each do | element |
          >>> z = map(len, ["abc", "clounds", "rain"])
          >>> z
          [3, 6, 4]

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

          3. List Comprehension
          來個復雜的例子
          >>> 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
          執行的順序是:首先調用函數處理range(5)前兩個值,0 + 1 = 1,然后返回的值1作為x,繼續與range(5)的第三個值(2,作為y)。
          最后的結果是0+1+2+3+4的值
          這個常用來代替for循環

          主站蜘蛛池模板: 安远县| 二手房| 济源市| 原平市| 连州市| 项城市| 泸州市| 四川省| 西华县| 义马市| 利辛县| 成武县| 平山县| 镇安县| 渑池县| 炎陵县| 鄂尔多斯市| 萝北县| 长武县| 沂源县| 剑河县| 嵊州市| 甘肃省| 上高县| 洛南县| 扎鲁特旗| 大竹县| 宁河县| 利辛县| 宜宾市| 南充市| 阜新| 青河县| 花莲县| 开鲁县| 阳城县| 平陆县| 循化| 宁德市| 吉安县| 醴陵市|