|
Size: 494
Comment:
|
Size: 2641
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
| ##OBP项目图书reST通用文章模板 ###format rst ||status|| 草稿 ||清风; 100%|| |
#pragma section-numbers off ||status|| 草稿 ||清风 & liz; 100%|| |
| Line 8: | Line 7: |
| == enumerate == | ##startInc = PCS205 内建函式(enumerate) = == 概述 == Python除了语言简洁,容易上手等优点,还有一个重要的优点,就是存在大量的内置函数,方便编程.这个章节将介绍这些常用函数,让我们更好的了解Python的诱人之处. |
| Line 10: | Line 12: |
| 由于Python没有像 | == 使用 == === enumerate === enumerate是python 2.3中新增的内置函数,它的英文说明为: |
| Line 12: | Line 16: |
| for(int i=0;i<10;i++) | enumerate(iterable) Return an enumerate object. iterable must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from zero) and the corresponding value obtained from iterating over iterable. enumerate() is useful for obtaining an indexed series: (0, seq[0]), (1, seq[1]), (2, seq[2]), .... New in version 2.3. |
| Line 14: | Line 19: |
| 这样的循环方式,所以我们要拿到循环的索引就需要用到enumerate: |
它特别适合用于一个for循环时,当我们同时需要计数和元素时可以使用这个函数. 比如,有一个字符串数组,需要一行一行打印出来,同时每行前面加上计数,从1开始: |
| Line 20: | Line 25: |
| }}} | }}}输出结果为: |
| Line 22: | Line 27: |
| 0,"a" 1,"b" 2,"c" |
0 a 1 b 2 c |
| Line 27: | Line 32: |
| == 练习 == | === map === 函数说明:map(function, sequence[, sequence, ...]) -> list,两个参数一个是函数名,另一个是列表或元组,返回一个列表. 比如,将数组中每一个数乘以2: {{{#!python print "map(lambda x:x*2,[1,2,3,4,5]) -> ",map(lambda x:x*2,[1,2,3,4,5]) }}}输出结果为: {{{ map(lambda x:x*2,[1,2,3,4,5]) -> [2, 4, 6, 8, 10] }}} |
| Line 29: | Line 42: |
| === zip === 函数说明:zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)],可以同时循环两个一样长的数组,返回一个包含每个参数元组对应元素的元组.各参数元组长度最好一致,若不一致,采取截断使得返回的结果元组的长度为各参数元组长度最小的. 比如: {{{#!python print "zip([1,2,3],[4,5,6]):" for x,y in zip([1,2,3],[4,5,6]): print "x,y",x,y }}}输出结果为: {{{ zip([1,2,3],[4,5,6]): x,y 1 4 x,y 2 5 x,y 3 6 }}} |
|
| Line 31: | Line 57: |
| -- 清风 [[DateTime(2008-04-25T14:33:00Z)]] | === filter === 函数说明: filter(function or None, sequence) -> list, tuple, or string,包括两个参数,分别是function和list。该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表. 比如,过滤掉数组中小于3的数: {{{#!python print "filter(lambda x:x>3,[1,2,3,4,5]) -> ",filter(lambda x:x>3,[1,2,3,4,5]) }}}输出结果为: {{{ filter(lambda x:x>3,[1,2,3,4,5]) -> [4, 5] }}} ##endInc |
status |
草稿 |
清风 & liz; 100% |
PCS205 内建函式(enumerate)
概述
Python除了语言简洁,容易上手等优点,还有一个重要的优点,就是存在大量的内置函数,方便编程.这个章节将介绍这些常用函数,让我们更好的了解Python的诱人之处.
使用
enumerate
enumerate是python 2.3中新增的内置函数,它的英文说明为:
enumerate(iterable)
Return an enumerate object. iterable must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from zero) and the corresponding value obtained from iterating over iterable. enumerate() is useful for obtaining an indexed series: (0, seq[0]), (1, seq[1]), (2, seq[2]), .... New in version 2.3. 它特别适合用于一个for循环时,当我们同时需要计数和元素时可以使用这个函数. 比如,有一个字符串数组,需要一行一行打印出来,同时每行前面加上计数,从1开始:
输出结果为:
0 a 1 b 2 c
map
函数说明:map(function, sequence[, sequence, ...]) -> list,两个参数一个是函数名,另一个是列表或元组,返回一个列表. 比如,将数组中每一个数乘以2:
1 print "map(lambda x:x*2,[1,2,3,4,5]) -> ",map(lambda x:x*2,[1,2,3,4,5])
输出结果为:
map(lambda x:x*2,[1,2,3,4,5]) -> [2, 4, 6, 8, 10]
zip
函数说明:zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)],可以同时循环两个一样长的数组,返回一个包含每个参数元组对应元素的元组.各参数元组长度最好一致,若不一致,采取截断使得返回的结果元组的长度为各参数元组长度最小的. 比如:
输出结果为:
zip([1,2,3],[4,5,6]): x,y 1 4 x,y 2 5 x,y 3 6
filter
函数说明: filter(function or None, sequence) -> list, tuple, or string,包括两个参数,分别是function和list。该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新列表. 比如,过滤掉数组中小于3的数:
1 print "filter(lambda x:x>3,[1,2,3,4,5]) -> ",filter(lambda x:x>3,[1,2,3,4,5])
输出结果为:
filter(lambda x:x>3,[1,2,3,4,5]) -> [4, 5]
