Python创建推导式,理解推导式【详细】


🍒 作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆向等等,,目前为全职爬虫工程师,学习的过程喜欢记录,目前已经写下15W字电子笔记,因此你看到了下面这篇文章~


🍒 技术栈:Python、HTML、CSS、JavaScript、C、Xpath语法、正则、、MySQL、Redis、MongoDB、Scrapy、Pyspider、Fiddler、Mitmproxy、分布式爬虫、JAVA等


🍒个人博客:https://pythonlamb.github.io/


🍒大学作品合集:https://sourl.cn/h9M2jX


🍒欢迎点赞⭐️收藏🐐关注🍑留言呀🍇


🐐 登高必自卑,行远必自迩.
🍇 我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
🍑 希望在编程道路上深耕的小伙伴都会越来越好



了解推导式

一:什么是推导式?
答:推导式是用来简化代码用的

二:推导式适用范围
答:推导式只适用于列表、字典以及集合,也就是说只有列表推导式、字典推导式、集合推导式

列表推导式

列表推导式(根据for循环化简而来)

功能:利用表达式生成一个有规律的列表,列表推导式又叫列表生成式,简化代码量

语法:列表名 = [i for i in range(start,end,step)]其中 for 前面的 i 为返回值

对比一:利用while循环生成有规律的列表;

image-20211009150946893

对比二:利用for循环生成一个有规律的列表

image-20211009150953552

列表推导式生成有规律列表代码:

image-20211009151001346

带 if 的列表推导式

带条件的列表推导式

功能:生成一个有规律的列表,并且符合固定条件

语法:列表名 = [ i 的返回值 for i in range(start,end,step)if 判断条件 ]

语法解析:for循环遍历range可迭代对象后,判断条件是否成立,条件成立返回i的值,不成立则不返回

快速代码体验

image-20211009151023619

多个for实现列表推导式

多个for循环的列表推导式(等同于for循环的嵌套)

功能:打印多个数据组成的数据序列中(可以是列表、元组、集合),相当于for循环的嵌套

语法:列表名 = [ (i的返回值,j的返回值) for i in range(代码1) for j in range(代码2)]

语法解析:两个for循环,其实就是for循环的嵌套,并且返回两个值

快速代码体验

image-20211009151037794

字典推导式

字典推导式

作用:快速将两个列表进行合并为字典或者提取字典中的目标数据

语法一:字典名 = { i 的返回值:value值 for i in range(start,end,step)}

实例一:利用字典推导式完成需求,字典的key为1—5的数字,字典的value为key的2次方

实例代码

image-20211009151051731

语法二(两个列表的合并):字典名 = { 列表1[ i ] :列表2[ i ] for i in range(len(列表名))}

实例二:将两个列表合并在一起 list1 = [“name”,“age”,“gender”] list2 = [“TOM”,21,“男”]

注意事项:两个列表长度一致,len()取哪个长度都可以,长度不一致,要用len()取长度小的,否则会报错

实例代码

image-20211009151102779

功能三:提取字典中的目标数据(工作中需求多,很重要)

语法:字典名 = {key:value for key,value in 字典序列 . items() if 判断条件}

实例:有一个字典 counts = {“游泳”:11,“篮球”:“6”,“排球”:15},提取这个字典中兴趣爱好人数大于10的键值对并保存到另外一个字典中。

快速代码体验:

image-20211009151114387

集合推导式

集合推导式

功能:通过列表生成具有一定规则的集合

语法:集合名 = {i处理后的返回值 for i in 列表序列}

实例:有一个列表 list1 = [1,1,2],通过列表生成一个列表元素2次方的集合

代码演示

image-20211009151128702

未完待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pythonlamb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值