关于网站建设的题目,软件开发外包有前途吗,传销公司做网站运营,杭州 建设网站首页目录
一.Python 列表推导式简介二.Python 列表推导式语法三.Python 列表推导式练习 1.Python 列表推导式案例一2.Python 列表推导式案例二3.Python 列表推导式和循环效率对比 四.重点总结五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 …目录
一.Python 列表推导式简介二.Python 列表推导式语法三.Python 列表推导式练习 1.Python 列表推导式案例一2.Python 列表推导式案例二3.Python 列表推导式和循环效率对比 四.重点总结五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 一.Python 列表推导式简介
上一篇文章中我们介绍了 Python 条件推导式实际上就是把多行代码合并为一行代码的操作使用列表推导式可以让程序的运行效率更高文章末尾有具体讲解其实列表推导式其实和条件推导式类似
Python 列表推导式是从一个或者多个迭代器快速简洁地创建数据类型的一种方法它将循环和条件判断结合从而避免语法冗长的代码提高代码运行效率。能熟练使用推导式也可以间接说明你已经超越了 Python 初学者的水平**。** Python 推导式相关
条件推导式列表推导式字典推导式
二.Python 列表推导式语法
列表推导式是条件推导式和循环一起配合使用并返回一个列表 list并且整个表达式需要在[]内因为返回值也是列表 list。 语法一exp1在for循环中如果x的值满足条件表达式condition(即条件表达式成立)返回exp1条件表达式不成立则不返回xfor循环中变量data一个序列比如列表/元组/字符串等condition条件表达式
[exp1 for x in data if condition]
语法二exp1在for循环中如果x的值满足条件表达式condition(即条件表达式成立)返回exp1条件表达式不成立则返回exp2condition条件表达式exp2在for循环中如果x的值满足条件表达式condition(即条件表达式成立)返回exp1条件表达式不成立则返回exp2xfor循环中变量data个序列比如列表/元组/字符串等[exp1 if condition else exp2 for x in data]三.Python 列表推导式练习
1.Python 列表推导式案例一
获取 0 ~ 20 的所有偶数并且乘以 10并返回所有计算之后的结果。示例代码如下使用 Python 列表推导式语法一实现
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python Python 列表推导式.py
Time:2021/3/27 08:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
1.因为是获取0~20包括20所以使用range(0,21)
2.x*10 等价 语法一中的exp1
3.x%2 0 等价 语法一中的条件表达式condition
4.range(0,21) 等价 语法一中的data序列
list1 [x*10 for x in range(0,21) if x%2 0]
print(list1)
print(type(list1))
输出结果
[0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200]
class list2.Python 列表推导式案例二
将 0 ~ 20 的偶数乘以 10 奇数乘以 100 并返回所有计算之后的结果。示例代码如下使用 Python 列表推导式语法二实现
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python Python 列表推导式.py
Time:2021/3/27 08:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
1.因为是获取0~20包括20所以使用range(0,21)
2.x*10 等价 语法二中的exp1
3.x*100 等价 语法二中的exp2
4.x%2 0 等价 语法二中的条件表达式condition
5.range(0,21) 等价 语法一中的data序列
list2 [x*10 if x%2 0 else x*100 for x in range(0,21) ]
print(list2)
print(type(list2))
输出结果
[0, 100, 20, 300, 40, 500, 60, 700, 80, 900, 100, 1100, 120, 1300, 140, 1500, 160, 1700, 180, 1900, 200]
class list3.Python 列表推导式和循环效率对比
可能有童鞋纳闷我明明 for 循环 或者 while 循环就能实现的功能为毛要用这鸟玩意推导式
使用列表推导式的效率远远高于 for 循环可能执行一句 print(“helloworld”) 对于 cpu 而已只需要 0.0002 秒你可能感觉不到差距如果需要输出一亿次 helloworld 呢往往细节觉得成败
假如有一个需求将 0 ~ 10000000 (一亿)以内的所有整数存到列表中对比一下 Python 列表推导式 和 for 循环耗时情况
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python Python 列表推导式.py
Time:2021/3/27 08:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累import time # 添加time模块用于统计代码运行时间#一共添加10000000次数据到列表中
total_num 10000000#使用列表推导式
start_time time.time()
list1 [x for x in range(0,total_num)] # 列表推导式
end_time time.time()
print(使用列表推导式耗时{}秒.format(end_time-start_time))#使用普通for循环
start_time time.time()
list2 list()
for x in range(0,total_num): # for循环list2.append(x)
end_time time.time()
print(使用普通for循环耗时{}秒.format(end_time-start_time))
输出结果
使用列表推导式耗时0.5455152988433838秒
使用普通for循环耗时1.2068836688995361秒输出结果很明显实现通用的功能Python 列表推导式的效率整整高出普通 for 循环一倍。 最后温馨提醒测试请把循环次数改小一点毕竟刚开始不小心多加了几圈圈电脑死机了
四.重点总结
1.注意在 Python 列表推导式书写的时候所有表达式都必须在 [] 内部因为返回值是列表 list2.列表推导式是 Python 开发学习的知识点多多联系熟能生巧.
五.猜你喜欢
Python 配置环境Python 变量Python 运算符Python 条件判断 if/elsePython while 循环Python breakPython continuePython for 循环Python 字符串Python 列表 listPython 元组 tuplePython 字典 dictPython 条件推导式Python 列表推导式Python 字典推导式
未经允许不得转载猿说编程 » Python 列表推导式