首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
真值判断方式
真值判断的字节码
真值判断的源码实现
验证真值判断的过程
数字类型如何作真值判断
判断语句(if)
for循环
while语句
break、continue、pass
迭代器、生成器
列表表达式
集合表达式
字典表达式
当前位置:
首页>>
技术小册>>
Python合辑9-判断和循环
小册名称:Python合辑9-判断和循环
各种表达式创建相关数据类型提供了一种更加简单的方法,首先是列表表达式,普通的方法是通过将一些操作应用于序列的每个成员并通过返回的元素创建列表,或者通过满足特定条件的元素创建子序列。比如想获取10以内的平方数,利用普通方法如下: ``` In [16]: squares = [] In [17]: for i in range(10): ...: squares.append(i ** 2) In [18]: squares Out[18]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ``` 但一行语句就足以囊括上面的内容,可见列表表达式的简洁性。 ``` In [20]: squares = [x**2 for x in range(10)] In [21]: squares Out[21]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ``` 上面这个列表表达式应该是比较简单的,还可以在表达式中加入判断语句作为筛选条件。 ``` In [22]: list2 = [x*2 for x in range(10) if x*2>3] In [23]: list2#0和2被过滤掉了 Out[23]: [4, 6, 8, 10, 12, 14, 16, 18] ``` 进一步可以结合两个列表的元素组成一个列表表达式: ``` In [24]: list3 = [(x,y) for x in [1,2] for y in [2,3]if x!=y] In [25]: list3 Out[25]: [(1, 2), (1, 3), (2, 3)] ``` 在复杂一点的列表表达式就是嵌套类型的,但是这样的表达式缺点就是可读性不太好,因为需要去思考他的一些细节,比如将一个23的矩阵转变为32的矩阵。 ``` In [28]: mat = [[1,2,3],[4,5,6]] In [29]: list3 = [[row[i] for row in mat] for i in range(3)] In [31]: list3 Out[31]: [[1, 4], [2, 5], [3, 6]] ```
上一篇:
迭代器、生成器
下一篇:
集合表达式
该分类下的相关小册推荐:
Python合辑3-字符串用法深度总结
Python编程轻松进阶(四)
剑指Python(万变不离其宗)
Python高性能编程与实战
Python爬虫入门与实战开发(上)
Python爬虫入门与实战开发(下)
Python自动化办公实战
Python合辑13-面向对象编程案例(上)
Python数据分析与挖掘实战(下)
Python与办公-玩转PDF
Python合辑14-面向对象编程案例(下)
Python神经网络入门与实践