python迭代工具按迭代协议不断调用可迭代对象的next方法。
python迭代工具有:for循环、列表解析、in成员关系、map()、sorted()、zip()等。
1.1 map()
用法
map(func, *iterables) --> map object
描述
python的内置函数map(),将可迭代对象(iterables)的每个元素都调用一次函数(func),返回map。
参数
func:函数名;
iterables:可迭代对象。
出参
返回map,是一个迭代器。
示例
>>> path=r'E:documentsF盘iterator.py'>>> list(map(str.upper,open(path,encoding='utf-8')))["S='梯阅线条'n", 'PRINT(S)n', 'L=LIST(S)n', 'PRINT(L)']
1.2 sorted()
用法
sorted(iterable)
描述
python的sorted()内置函数,对可迭代对象的每个元素进行排序。
参数
iterable:可迭代对象。
出参
返回新列表。
示例
>>> path=r'E:documentsF盘iterator.py'>>> sorted(open(path,encoding='utf-8'))['L=list(S)n', "S='梯阅线条'n", 'print(L)', 'print(S)n']
1.3 reduce()
用法
reduce(function, sequence) -> value
描述
python的reduce()方法,将两个参数的函数(function)累计应用于序列(sequence)的项。第1和2个项调用函数后的结果,与第3个项作为入参再次调用函数。比如:
# ((((1+2)+3)+4)+5)>>> functools.reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])15
参数
function:函数名
sequence:序列
出参
值
示例
# ((((1+2)+3)+4)+5)把文件内容连接起来>>> import functools,operator>>> path=r'E:documentsF盘iterator.py'>>> functools.reduce(operator.add,open(path,encoding='utf-8'))"S='梯阅线条'nprint(S)nL=list(S)nprint(L)"
1.4 filter()
用法
filter(function or None, iterable) --> filter object
描述
python的filter()内置函数,可迭代对象(iterable)的元素,依次调用函数(function),如果满足满足函数条件,则返回,否则过滤掉,最终返回满足条件的元素组成的filter对象。
参数
function:函数名,可以是匿名函数。
iterable:可迭代对象。
出参
filter对象,为迭代器。
示例
>>> path=r'E:documentsF盘iterator.py'>>> list(filter(bool,open(path,encoding='utf-8')))["S='梯阅线条'n", 'print(S)n', 'L=list(S)n', 'print(L)']
1.5 join()
用法
str.join(self, iterable)
描述
python字符串的join()方法,将可迭代对象(iterable)的元素以指定字符串(str)连接在一起,生成新的字符串。
参数
str:连接字符串。
iterable:可迭代对象。
出参
字符串
示例
>>> path=r'E:documentsF盘iterator.py'>>> '@@'.join(open(path,encoding='utf-8'))"S='梯阅线条'n@@print(S)n@@L=list(S)n@@print(L)"
1.6 {}
描述
python的{}表达式可以生成集合、字典,也可用于集合、字典解析。
示例
>>> path=r'E:documentsF盘iterator.py'>>> {l for l in open(path,encoding='utf-8')}{'L=list(S)n', 'print(S)n', "S='梯阅线条'n", 'print(L)'}>>> {k:v for k,v in enumerate(open(path,encoding='utf-8'))}{0: "S='梯阅线条'n", 1: 'print(S)n', 2: 'L=list(S)n', 3: 'print(L)'}
1.7 *args
描述
python的函数入参*args,将可迭代对象值,解包为单个参数。
示例
>>> path=r'E:documentsF盘iterator.py'>>> def fargs(a,b,c,d):print(a,b,c,d,sep='@')>>> fargs(1,2,3,4)1@2@3@4>>> L=list('tyxt')>>> fargs(*L)t@y@x@t>>> fargs(*open(path,encoding='utf-8'))S='梯阅线条'@print(S)@L=list(S)@print(L)
版权声明?:
更多内容参考python知识分享或软件测试开发目录。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!