- Python程序设计教程(第2版)
- 郑戟明 柳青 杨年华
- 640字
- 2020-11-23 18:11:20
4.4.3 相关内置函数
我们再看一下用得比较多的相关内置函数。
1. enumerate()
格式:enumerate(iterable,start=0)
功能:返回下标和值的enumerate对象。第1个参数表示可迭代(Iterable)对象,第2个参数表示下标的开始值,默认从0开始。
通过帮助我们得知enumerate对象是一个可迭代(Iterable)对象也是一个迭代器(Iterator)对象。
这里还要补充说明的是list()、tuple()、dict()、set()函数能将可迭代(Iterable)对象转换为列表、元组、字典、集合。
2. zip()
格式:zip(iter1[,iter2[…]])
功能:将多个迭代器(Iterator)对象(或者可迭代(Iterable)对象)中的元素压缩到一起,返回一个zip对象。
同样通过帮助我们得知zip对象既是一个可迭代(Iterable)对象也是一个迭代器(Iterator)对象。
3. map()
格式:map(func,∗iterables)
功能:把一个函数func依次映射到可迭代(Iterable)对象的每个元素上,返回一个map对象。
同样通过帮助我们得知map对象既是一个可迭代(Iterable)对象也是一个迭代器(Iterator)对象。
这里使用了lambda表达式,详细用法请参见第6章。
4. filter()
格式:filter(function or None,iterable)
功能:把一个带有一个参数的函数function作用到一个可迭代(Iterable)对象上,返回一个filter对象,filter对象中的元素由可迭代(Iterable)对象中使得函数function返回值为True的那些元素组成;如果指定函数为None,则返回可迭代(Iterable)对象中等价于True的元素。
同样通过帮助我们得知filter对象既是一个可迭代(Iterable)对象也是一个迭代器(Iterator)对象。
【例4-9】 从键盘输入一个正整数值n,编程求它的所有因子(不包括1和该数本身)之和。规定n值不大于1000,如果大于1000,直到输入不大于1000的值为止。输出由所有因子组成的列表及所有因子之和。
程序代码:
程序可能的一次运行结果:
程序可能的一次运行结果: