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

          Python 學習筆記 (5)

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

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

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

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

          1.  Mapping
          map() 方法對序列中的每個元素調(diào)用某個函數(shù),返回新生成的結(jié)果序列。
          有點類似于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
          執(zhí)行的順序是:首先調(diào)用函數(shù)處理range(5)前兩個值,0 + 1 = 1,然后返回的值1作為x,繼續(xù)與range(5)的第三個值(2,作為y)。
          最后的結(jié)果是0+1+2+3+4的值
          這個常用來代替for循環(huán)

          主站蜘蛛池模板: 沙河市| 自治县| 呼和浩特市| 郑州市| 邯郸县| 通化县| 仲巴县| 河池市| 商都县| 武汉市| 德江县| 娄烦县| 潜山县| 昌邑市| 南江县| 长春市| 潍坊市| 长葛市| 焦作市| 营口市| 邳州市| 张家川| 井陉县| 达日县| 腾冲县| 营口市| 昭觉县| 鄂尔多斯市| 崇仁县| 龙江县| 探索| 淮滨县| 东乌珠穆沁旗| 诸暨市| 宣威市| 灯塔市| 永嘉县| 当阳市| 昂仁县| 德钦县| 阿坝县|