python迭代工具及使用例子

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进行处理,非常感谢!

上一篇 2022年9月3日
下一篇 2022年9月3日

相关推荐