python多层函数 python怎么跳出多层循环( 二 )


6、reduce()前面说到对列表里的每个数字作平方处理,用map()函数 。那我想将列表里的每个元素相乘,该怎么做呢?这时候用到reduce()函数 。
reduce()会对参数序列中元素进行累积 。第一、第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果 。再举个例子,将字母连接成字符串 。
你可能已经注意到,reduce()函数在python3里已经不再是内置函数 , 而是迁移到了functools模块中 。这里把reduce()函数拎出来讲,是因为它太重要了 。
7、filter()一些数字组成的列表,要把其中偶数去掉,该怎么做呢?
filter()函数轻松完成了任务,它用于过滤序列 , 过滤掉不符合条件的元素,返回一个迭代器对象 。filter()函数和map()、reduce()函数类似 , 都是将序列里的每个元素映射到函数,最终返回结果 。我们再试试 , 如何从许多单词里挑出包含字母w的单词 。
8、enumerate()这样一个场景,同时打印出序列里每一个元素和它对应的顺序号 , 我们用enumerate()函数做做看 。
enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器 。再举个例子说明,对字符串进行标注 , 返回每个字母和其索引 。
python怎么用递归遍历多层目录树Python实现递归遍历指定文件目录(startdir),从而找到所有与指定的文件或目录(target)名相同的文件或目录的绝对路径 。
scandir.py :
#! /usr/bin/python
# filename : scandir.py
# author : Jesse
# update : 2011/08/15 10:16
import os
def scandir(startdir, target) :
os.chdir(startdir)
for obj in os.listdir(os.curdir) :
if obj == target :
print os.getcwd() + os.sep + obj
if os.path.isdir(obj) :
scandir(obj, target)
os.chdir(os.pardir) #!!!
startdir = raw_input('Please input startdir: ')
target = raw_input('Please input target: ')
scandir(startdir, target)
关于该程序的一点说明:
1. 函数scandir的形参target可以是目录名也可以是文件名 。
2. 函数chdir的作用是切换到指定目录,该参数必须是有效的且有访问权限的相对路径或绝对路径 。
3. 函数的第五行 , 使用getcwd函数也是为了取得当前绝对路径 。
4. 加号作为字符串的连接符 。os.sep根据你的操作系统给出目录分隔符,在GNU/Linux和UNIX上它的返回值是'/',在windows上它的返回值是'\\',在Mac OS上是‘:’,使用os.sep而不直接使用字符,会提高程序的可移植性 。
5. 递归调用后,一定不能忘了os.chdir(os.pardir),返回上层目录(即父目录) 。
重要:
1. 理解for中的两个并列的if语句,并列是为了解决目标是文件夹时,该目标文件夹中包含符合要求的文件夹 。
2. 如果指定目录中存在访问受限的文件或文件夹,该程序会失败,返回无权访问信息 。
【python多层函数 python怎么跳出多层循环】python多层函数的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于python怎么跳出多层循环、python多层函数的信息别忘了在本站进行查找喔 。

推荐阅读