范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

实用炫酷!这样写Python代码四两拨千斤

  作者:闲欢
  来源:Python 技术
  判断一个程序员水平的高低,不能光看他的发量,也不能光看他的代码量,还要看他代码蕴含的思想,代码的质量。代码蕴含的思想主要体现在各种设计模式的运用上,而代码的质量就既要实现需求,又要保证代码的简洁优雅。保证代码质量是需要长期积累,养成良好的编程习惯,不断思考优化的。
  今天就给大家介绍一种实用的保证代码简洁的武功—— Python 推导四式。 什么是推导式
  推导式 comprehensions(又称解析式),是 python 的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列。
  看定义很抽象,下面我们来看看具体的例子,通过例子来学习这四种推导式。列表推导式
  我们先来看一个需求:
  快速创建一个包含元素1-9的平方的列表
  面对这个需求,我们通常的实现方式是这样的:lis = [] for i in range(1, 10):     lis.append(i*i) print(lis) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
  用列表推导式怎么实现呢?你只需要一行代码:lis = [x * x for x in range(1, 10)] print(list) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
  这就是推导式。我们可以看到列推导式的语法是这样的:
  变量名 = [表达式 for 变量 in 列表]
  再来一个复杂点的:list = [x * y for x in range(1, 10) for y in range(1, 10)] print(lis) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]
  这个是多个变量的类型,因此我们可以扩展上面的语法:
  变量名 = [表达式 for 变量 in 列表 for 变量 in xxx]
  当然,还有一种带条件的列推导式,它的语法是这样的:
  变量名 = [表达式 for 变量 in 列表 if 条件]
  我们来看一个需求:快速创建一个包含1-10之间所有偶数的列表。lis = [i for i in range(1, 11) if i % 2 == 0] print(lis) # [2, 4, 6, 8, 10] 字典推导式
  字典推导式的形式和列表推导式类似,语法也是类似的,只不过字典推导式返回的结果是字典。
  变量名 = {key: value表达式}
  我们来看一个例子:dic = {x: x/2 for x in range(1,11) if x % 2 == 0} print(dic) # {2: 1.0, 4: 2.0, 6: 3.0, 8: 4.0, 10: 5.0}
  如果这里我写成下面这种方式,返回的结果是什么呢?dic = {"half": x/2 for x in range(1,11) if x % 2 == 0} print(dic)
  大家可以自己尝试运行一下,看跟你想的结果是不是一样的。集合推导式
  看了前面两个推导式,想必你已经知道集合推导式怎么写了。语法如下:
  变量名 = {表达式 for 变量 in 列表 for 变量 in xxx}
  或者
  变量名 = {表达式 for 变量 in 列表 if 条件}
  来一个实际的例子:创建一个存储10个偶数的集合。set1 = {x for x in range(10) if x % 2 == 0} print(set1) # {0, 2, 4, 6, 8} 元组推导式
  我们先来看一个例子:tup=(x for x in range(1,10)) print(tup) #  at 0x1101fade0>
  看到这个结果打印是不是有点懵?
  上面的代码返回的变量其实是一个生成器,并不是一个元组。其实没有真正的元组推导式,我们只能用一个类似的方法来生成元组,暂且叫做"伪元组推导式"吧。
  上面的例子我们来改进一下:tup=tuple(x for x in range(1,10)) print(tup) # (1, 2, 3, 4, 5, 6, 7, 8, 9)
  在前面加上 tuple 来显式进行类型转换就行了。总结
  这里介绍了四种 python 的推导式,主要是用来简化 循环的代码,生成不同的数据结构用的。当然,从这些基础的表达式语法出发,还可以运用到复杂的推导式,大家在写代码时留心使用就会发现它的强大之处。这种一行代码既简洁明了,又可以在新手面前炫技,用起来不要太爽!

网传这么多号称一元吃外卖的公众号,到底是不是真的不仅仅是在头条上,抖音,快手,各大短视频网站早已沦陷,对于一元吃外卖的噱头也是呼声日渐高涨关注了那么多关注,点击去各种分享助力,到底有没有用呢?诸如此类的外卖号亲身测评,答案是,没这喵一定是中国的那些年的猫猫狗狗们这喵一定是中国的!乒乓球为什么树懒叫树懒明白了吧星际争霸!2v1蟹老板我先回去了!螃蟹的速度吖旋转跳跃我闭着眼太开心了hhh入门精品ECHO系列吉他音箱一款搭配Blackstar专利EQ系统ISF功能,以及可调节数字磁带延迟周边效果音色出众的系列吉他音箱LTECHO10和LTECHO15Blackstar的设计理念一直是为吉他手提这么多大学生日入几十上百的网上兼职,有哪些是真正靠谱的?配音,绘画,影视剪辑,树洞,PPT,闲鱼转转,寄拍模特,兼职客服,剧本杀,剧组招人,问卷调查,拆书稿,叫人起床,游戏陪玩,,,到底哪些才是普通素人可以入手做的?兼职推荐都在说几十几621大家一起来玩乐1981年,法国文化部长朗杰克和团队构想举办一种新型的乐器节日,这个节日对所有人开放,无论年轻或年长专业或业余,每个人都可以自由参加活动,在街角公园广场,甚至山顶,和朋友邻居路人分深情的告白演唱怎么能少的了Martin的陪伴薛之谦应该算是中国大陆一个大器晚成的实力派创作歌手,从他最开始05年参加娱乐选秀节目我型我秀出道以来,他的努力一直是被大家有目共睹。终于他成功了,红透了半个娱乐圈,同时他在各大娱乐PRSWoodLibrary到底是什么?PRS所生产的吉他中有一些琴经常标有WoodLibrary字样。这是什么意思?在本文中,我们将对这些带有WoodLibrary标识的PRS吉他做出详细解答。在PRS公司8。5万平方EricJohnson最爱的原声吉他MartinD45EricJohnson生于1954年的美国德州TEXAS的Austin市。受其父亲影响,3岁就已开始喜爱音乐,5岁即开始学习钢琴,8岁便展露了其音乐才华并开始作曲,10岁时开始接触2017美国Martin吉他工厂铂金之旅(2)上文中提到了我们2017美国Martin吉他工厂铂金之旅的第一天行程主要内容,本次将继续跟大家分享本次活动的第二天概况(以下大量精美独家图片,建议在有WIFI地点观看,土豪随意)。Blackstar10周年2017年是来自英国的吉他音箱新派代表Blackstar成军10周年的重要时刻,在短短十年时间中,这个凝聚了创新精神和崭新品牌理念,旨在打造TheSoundInYourHead(你2017美国PRS吉他工厂铂金之旅今年雅登中国与美国著名吉他公司PRS首次联合,组织中国PRS经销商进行PRS吉他工厂铂金之旅活动,本次活动吸引了大量中国PRS经销商参加,同时PRS公司创始人PaulReedSmi
余承东没有说谎!华为两款新机曝光,继续冲击中高端市场受芯片供应影响,最近两年华为手机业务的发展并不是很顺利,为此华为不仅出售了旗下的子公司荣耀,还被迫退出了5G市场,只能发布一些4G机型。例如华为P50系列旗舰,以及全新的折叠屏P51月行情老旗舰送背刺,599到12999元手机推荐欢迎收看1月14日更新的手机推荐栏目。1月初,骁龙8Gen1旗舰的大批量上市,骁龙870和骁龙888老旗舰继续降价,部分机型再次刷新价格记录,背刺了半个月前上车的用户。为赶在春节前三星和华为,哪个外屏可玩性更好呢?作为资深花粉,最近又入手了P50Pocket!这款手机也不例外,采用内外双屏设计,展开满屏精彩,合上精致便携!折叠态下,外屏可处理来电,随时获取消息服务,换上喜欢的主题等等先分享一一代机王即将停产?走进5G自动驾驶时代,黑莓能否绝地反击电子发烧友网报道(文莫婷婷)经过2021年的热身之后,就在国内外智能手机品牌厂商正在持续备战2022年的智能手机赛道时,黑莓手机却宣布在1月4日开始,终止BlackBerry7。1苹果中国重新上架145元抛光布果粉之家,专业苹果手机技术研究十年!您身边的苹果专家2021年10月,苹果在官网上推出了一款定价为19美元的抛光布(约合人民币145元)据官方的介绍,这款抛光布适配大部分苹果产品,叫支付宝的山东大爷,因名字困扰不断,却靠名字买车盖房支付宝起诉了支付宝。这句话乍一看有些不对劲,但其实是一位名叫支付宝的大爷,起诉了家喻户晓的支付软件支付宝。支大爷支大爷的名字已经用了几十年,并不是其他人猜测的支付宝火了以后就故意改三星TabS8真机图曝光,前辈旗舰沦为百元机,星粉直呼不敢看尽管三星尚未宣布所谓的GalaxyTabS8系列平板电脑的发布日期,但从监管文件中泄露的实时图像表明,发布日期应该非常接近。以下是所有三款设备的图片GalaxyTabS8S8和S8让新能源汽车驶向更美好未来新能源汽车正越来越快地驶入日常生活。工信部12日发布的数据显示,2021年,我国新能源汽车销售完成352。1万辆,连续7年位居全球第一。十三五时期,我国新能源汽车产业快速发展,逐步刘润5分钟商学院互联网世界5大基本定律方法论(附思维导图)今天分享刘润5分钟商学院的商业篇的第十一章,关于互联网世界的5大基本定律的方法论,喜欢的朋友可以关注,私信获取完整版的思维导图。信息对称在美国,你会吃麦当劳吗买卖双方掌握的信息一致全国一起ping百度会怎么样?全国ping百度没有用,根本不用服务器做应答,ping只不过检测网络状态。百度又不是一个服务器,你ping它你就能阻断攻击了吗,不能的,防火墙是干什么的。百度和淘宝工作方式不一样,环球影城vs迪士尼哪家强?大多数人不知道上海举办世博会这块地方当中,起初曾经有一部分是上海环球影城的选址。在上海世界初本世纪末,上海与迪士尼和环球双双达成意向后,向国家提出申请。如梦初醒的某地突然对这个不期