Python学习笔记 —— 独步天下推导式语法糖

前言

最近心血来潮,学习了一下Python,其中关于 推导式语法糖 感觉功能确实强悍,一行解决过滤问题,特此记录

介绍

在业务场景中肯定避免不了对于列表或者字典的过滤操作,那么按照传统过滤手段流程。
在python中倒是显得简单化了

本文只介绍

  • 列表推导式
  • 字典推导式

列表推导式

语法: [表达式 for 表达式 in 迭代器 if 条件]

是不是第一眼看起来感觉太抽象了,我们直接看看代码示例

获取当月天数

代码示例

# 推导式
# 列表推导式
#这个月天数列表 假设是大月
dayList = [day for day in range(31) if day >=1]
#同等与
newList = []
for i in range(31):
    if i == 0:
        continue
        pass
    newList.append(i)
print("天数列表推导式前后数据\n{before},\n{after} ".format(before=newList,after=dayList))

结果

天数列表推导式前后数据
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] 

由此可见该语法糖的实用性多强。

字典推导式

语法: [key:value for key in 迭代器 for value in 迭代器 if 条件]

看起来比列表推导式多了个value的遍历,实际上更简单

模拟三条用户数据

#字典推导式
#多个用户数据 随机密码
import uuid
nameList = ["小明","张三","李四"]
passWordList = []
index = 1
while index <= len(nameList):
    passWordList.append(str(uuid.uuid4()))
    index+=1

userInfo = {key:value for key in nameList for value in passWordList}
print(userInfo)

使用了uuid库用来做随机生成的密码,代码一目了然!

结果

{'小明': '0df514d4-cc1e-40b3-ad7d-4d364448b5bb', '张三': '0df514d4-cc1e-40b3-ad7d-4d364448b5bb', '李四': '0df514d4-cc1e-40b3-ad7d-4d364448b5bb'}

结束语

关于 Python学习笔记 —— 独步天下推导式语法糖 就讲到这里,对你有帮助的话!

  • 点赞
  • 收藏

谢谢你的观看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值