我的Python之路:迭代和解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Python之路:迭代和解析相关的知识,希望对你有一定的参考价值。

一、基本概念

由于与函数工具(map和filter)有关,又与循环有关,在这我们在次进行学习。

二、列表解析与map

Python中的内置函数ord返回一个单字符的ASCII编码如:

1 t=ord("s")
2 print(t)

结果为:

115

现在,假设我们希望搜集整个字符串的ASCII编码,也许最直接的方法就是使用for循环。

1 res=[]
2 for x in "fdsga":
3   res.append(ord(x))
4 print(res)

结果为:

[102, 100, 115, 103, 97]

然而我们现在知道了map函数,我们能够使用一个单个函数调用,而不用关心代码中的列表结构,使实现更为简单

1 res1=list(map(ord,sadfadsf))
2 print(res1)
3 res2=[ord(x)for   x in  "safdsg"]
4 print(res2)

结果为:

[115, 97, 100, 102, 97, 100, 115, 102]
[115, 97, 102, 100, 115, 103]

所以在这我们可以看出列表解析是在一个序列值上应用一个任意表达式,将其结果收集到一个新的列表中返回。

从语法上来说,列表解析是由方括号封装起来的。

三、增加测试和嵌套循环

就像我们刚刚看到都得map函数可以替代列表解析,为了测试表达式,这里的filter版本创建了一个小的lambda函数,为了对比也显示了for循环。

 


以上是关于我的Python之路:迭代和解析的主要内容,如果未能解决你的问题,请参考以下文章

python---学习之路

Python之路,Day4

python之路--迭代器和生成器

python之路--day11---迭代器和生成器

Python成长之路第五篇:Python基础之迭代器和生成器

python之路---迭代器和生成器