一篇文章带你入门python之推导式
作者:二十四桥_ 时间:2022-02-05 08:29:35
一、dict推导式
list1 = ['name', 'age', 'gender']
list2 = ['zmz', '20', 'boy']
# 字典推导式 -- 快速合并列表为字典,或提取字典中的目标数据
# 例 1 -- key是数字,value是这个数字的平方
dict1 = {i: i ** 2 for i in range(1, 5)}
print(dict1)
# 例 2 -- 合并两个列表,两个列表长度相同
dict2 = {list1[i]: list2[i]for i in range(len(list1))}
print(dict2)
# 如果两个列表长度不同,那么取 len(长度较短的列表)
# 例 3 -- 提取字典中满足条件的数据
dict3 = {'Mac': 10000, 'Dell': 6599, 'HP': 6999, 'Lenovo': 5799, 'Acer': 4599}
print(dict3.items())
counts = {key: value for key, value in dict3.items() if value > 6000}
print(counts)
二、list推导式
"""
推导式(生成式) -- 是用来化简代码
推导式包含:
1.列表推导式
2.字典推导式
3.集合推导式
"""
# 用一个表达式创建一个有规律的列表或控制一个有规律的列表
list1 = []
# while实现
i = 0
while i < 10:
list1.append(i)
i += 1
print(list1)
# for 实现
list2 = []
for i in range(10, 20, 1):
list2.append(i)
print(list2)
# 推导式实现
list3 = [i for i in range(-9, 2, 1)] # for 的左侧的 i 是返回值,创建列表当然用 []
print(list3)
print(sum([2 ** i for i in range(100)]))
三、set推导式
# 集合推导式 -- 主要用来根据列表创建集合
list1 = [2, 3, 4, 2, 5, 3]
set1 = {i ** 2 for i in list1}
print(set1)
t1 = (10, 20, 30, 40, 50)
print(t1)
t2 = (i * 2 for i in t1)
print(t2) # 打印不出来
四、含if推导式
"""
创建0 - 10 的偶数列表
"""
# 方法一
list1 = [i for i in range(0, 11, 2)]
print(list1)
# 方法二
list2 = []
for i in range(11):
if i % 2 == 0:
list2.append(i)
print(list2)
# 方法三
list3 = [i for i in range(11) if i % 2 == 0] # 列表推导式其实就是根据for 循环化简得来的
print(list3)
五、含for推导式
list = []
for i in range(1, 3):
for j in range(3):
list.append((i, j))
print(list)
print("==================")
list1 = [(i, j) for i in range(5) for j in range(5)] # for循环嵌套
count = 0
for i in list1:
count += 1
print(i, end='')
if count % 5 == 0:
print()
来源:https://blog.csdn.net/Zzzzzz_m/article/details/122785851
标签:python,推导式,入门
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
EXECUTE IMMEDIATE用法小结
2009-09-26 18:32:00
显示你个性的鼠标指针
2011-06-14 09:41:41
仿阿里巴巴搜索导航设计效果
2008-04-15 15:01:00
![](/images/sg_trans.gif)
动态给表添加删除字段并同时修改它的插入更新存储过程
2011-12-01 10:18:28
css实现简单圆角效果
2008-11-27 13:11:00
![](https://img.aspxhome.com/file/UploadPic/200811/27/e59c86e8a792-560x156-82s.jpg)
小谈MySQL字符集
2009-02-13 13:30:00
亚马逊购物用户体验分析 (一)
2009-10-25 12:40:00
![](https://img.aspxhome.com/file/UploadPic/200910/25/thumb2-70.jpg)
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011-06-06 10:29:00
php json_encode与json_decode详解及实例
2023-07-04 22:46:27
go Cobra命令行工具入门教程
2023-06-24 18:27:12
![](https://img.aspxhome.com/file/2023/6/81566_0s.jpg)
如何实现固定长度的自动编号?
2010-06-03 10:08:00
用户如何有效地利用ORACLE数据字典
2008-03-04 18:19:00
WinHttp.WinHttpRequest--XmlHttp获取跳转页面的功能
2010-03-22 14:34:00
用js封装的时间设置器
2013-08-04 23:28:46
比较全面的PHP数组的使用方法小结
2023-11-18 21:30:25
IE的有条件注释详解(附实例代码)
2009-03-31 13:01:00
![](https://img.aspxhome.com/file/UploadPic/20093/31/iecondition01-64s.gif)
自动清空站点目录下所有文件
2009-06-24 11:11:00
巧用Dreamweaver MX设计导航栏特效
2009-07-10 13:17:00
![](https://img.aspxhome.com/file/UploadPic/20072/20072311330521s.jpg)
使用Python的Bottle框架写一个简单的服务接口的示例
2023-09-01 17:29:50
IE9四大渲染引擎模式
2010-04-20 16:57:00
![](https://img.aspxhome.com/file/UploadPic/20104/20/01-76s.jpg)