一篇文章带你入门python之推导式
更新时间:2022年02月05日 09:19:25 作者:二十四桥_
这篇文章主要为大家详细介绍了python的推导式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
一、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()
总结
本篇文章就到这里了,希望能给您带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
关于Python列表元素排序操作sort()、min()、max()函数用法
这篇文章主要介绍了关于Python列表元素排序操作sort()、min()、max()函数用法,python中提供了列表元素的操作函数,那么这些函数该怎么使用呢,感兴趣的朋友一起来看看吧2023-04-04pyinstaller pathex参数引发打包no module name异常
这篇文章主要为大家介绍了一个关于pyinstaller的 pathex 参数所引发的打包执行报no module name的异常错误解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-05-05
最新评论