您的位置: 网站首页> python基础> 当前文章
列表推导式、集合推导式、字典推导式
老董-我爱我家房产SEO2020-07-31195围观,119赞
python语法简洁,推导式就是一个很好的体现。
推导式(又称解析式)是 Python 独有的一种特性。使用推导式可以从一个数据序列构建一个新的数据序列。推导式从外形上来看像是for循环的一种变形写法。本节我们看一下列表推导式、集合推导式、字典推导式,你可能好奇是否有元组推导式,当你试图写一个元组推导式的时候其实结果是一个生成器,生成器可以参考python实现生成器。
1、列表推导式
[表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 ] # if 条件表达式可以省略
# -*- coding: utf-8 -*- new_date = [x**2 for x in [1,2,3,4] if x > 2] new_date2 = [x**2 for x in [1,2,3,4]] print(new_date) print(new_date2)
[9, 16] [1, 4, 9, 16]
2、集合推导式
{ 表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式 } # if 条件表达式可以省略
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*- new_date = {x**2 for x in [1,2,3,4] if x > 2} new_date2 = {x**2 for x in [1,2,3,4]} print(new_date) print(new_date2)
{16, 9} {16, 1, 4, 9}
3、字典推导式
字典推导式的长相和集合推导式完全相同,这个并不奇怪,因为python中输出字典或者输出集合都是用{ }包围起来的。
{表达式 for 迭代对象的元素 in 可迭代对象 if 条件表达式} # if 条件表达式可以省略
# -*- coding: utf-8 -*- dic = {'age':18,'name':'老王'} new_date = {v:k for k,v in dic.items() if v == 18} new_date2 = {v:k for k,v in dic.items()} print(new_date) print(new_date2)
{18: 'age'} {18: 'age', '老王': 'name'}
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
列表推导式、集合推导式、字典推导式文章写得不错,值得赞赏