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

          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] ...), (...)]

          函數式編程相關

          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循環

          主站蜘蛛池模板: 繁峙县| 同心县| 阜阳市| 延川县| 集贤县| 喜德县| 郸城县| 建水县| 建德市| 桐梓县| 开鲁县| 宁陵县| 佛山市| 翁源县| 安阳县| 宜章县| 枣阳市| 宣恩县| 五大连池市| 嘉鱼县| 东丰县| 和硕县| 醴陵市| 郎溪县| 黔西| 临沂市| 阳曲县| 边坝县| 南丰县| 府谷县| 泗阳县| 华蓥市| 平定县| 茶陵县| 玛纳斯县| 建平县| 洮南市| 宣城市| 于都县| 姜堰市| 福建省|