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

实用炫酷!这样写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 的推导式,主要是用来简化 循环的代码,生成不同的数据结构用的。当然,从这些基础的表达式语法出发,还可以运用到复杂的推导式,大家在写代码时留心使用就会发现它的强大之处。这种一行代码既简洁明了,又可以在新手面前炫技,用起来不要太爽!

双11从流量时代到高质量发展张敬伟年年双11,今年有不同。从市场供需两端到政策监管,都比往年有更高要求,双11迎来高质量发展阶段。今年双11静悄悄,各电商平台未如往年那样,实时公布成交额。经过多年,双11已经小米12配置曝光,屏幕有升级,不全是2k。miui12。5适配机型曝光小米12下个月会发布,会是一系列新品的一个,当然看起来小米12系列都有不同的配置差异?简单看看吧!据现在的消息看,小米12系列分为1080p分辨率的屏幕和2k屏幕两种规则,应该是普手机NFC明明可以复制小区加密卡,为什么物业不配合呢?说实话,现在小区的门禁卡基本上都是加密的。我们知道,办一张门禁卡的话,绝大多数小区的物业都要收取一定的费用,一般情况下都是50元一张。不加密的话,我们的手机NFC功能就可以很轻松地徕卡Q2这只28mm镜头怎么样?这是一枚很有特点的镜头,为复古设计,有出色的景深控制,自然的过渡与对比,良好的细节表现和明显的暗角设计,加上轻巧的体积,是非常有特点的镜头。谢谢邀请!最近徕卡Q2炒的如火如荼,很多助听器都需要验配吗?不需要的,只要戴上舒服,听的清楚就好,可以调声音大小的。是的,需要到专业验配助听器中心验配,根据患者的听损程度耳聋性质来选配适合患者的助听器是的,需要检查听力,根据听力损失情况选配听力值达到多少是最好的?该如何保护听力?人的耳朵并不能听到宇宙间的一切声音,有一定的范围,平均是2020000赫。人们的听觉主要用来听语言,而语言的频率并不宽,其主要范围是在5003000赫。因此,科学家把500赫100小米12mini曝光,6。3英寸小屏骁龙898,米粉又模仿苹果?现如今的智能手机,屏幕越来越先进的同时,也变得越来越大,除了苹果和三星之外,其它厂商的旗舰机型,屏幕尺寸几乎都在6。5英寸以上。对于游戏爱好者来说,手机的屏幕更大自然能带来更好的体特斯拉手机渲染图三星E6屏2TB,5000万四摄能否将苹果拉下神坛特斯拉在埃隆马斯克的带领下,是一家具备高科技的公司,并且深受消费者的喜爱。不过特斯拉还没有进军手机市场领域,这对于苹果来说是一件好事情,因为一旦特斯拉进入手机市场领域,那么对于苹果现在最保值的华为手机是哪一部?文小伊评科技目前全世界范围内,最保值的机型是华为MATE40普通版。在当下,华为系列的5G旗舰机的保值率都是比较高的,尤其是华为Mate40那一代的产品,市场售价基本上都比其发布价国内厂商再度争光!5G性能包揽全价位第一,撕开苹果遮羞布自华为被压制后,外界总有一种华为跌倒,苹果吃饱的传言,当然这句话也并不是空说无凭的。几年前,能与苹果高端市场一绝高下的的确只有三星和华为。眼看着华为势头越来越大,已经有了压制苹果的现在华为手机的性能,是不是在很多方面已经超越了iPhone呢?是的是的。我的手机是mate40p,20年买的。第一次用华为的手机。性能还是比不上苹果,但是已经可以达到苹果性能的90了。没什么太大差别了。细微地方还是有差距。有些小功能确实方便,
轻巧便携大功率,还能实时显示电量aigo移动电源炫彩系列A10S1。前言我觉得只要不出远门,10000mAh的充电宝在日常生活中会是最佳选择不会太笨重,又可以实现多次续航。我相信大部分消费者跟我持有类似的看法,因为现在10000mAh的充电宝最配件丰富,功能强大,倍思F1高压洗车机体验去年买车之后,自己还陆续买了防晒罩水枪吸尘器等配件,因为小区是露天停车的关系,平时自己是需要经常洗车的,家住一楼的话,从窗户接个水管就好了,不过使用了几次后发现,自来水的水压有点小满足地面清洁需求,浦力适(PUREST)自烘干洗地机上手体验家庭清洁是日常生活中必须面对的问题,近几年扫地机拖地机洗地机等产品发展非常的迅速,功能越来越强大。选择上,普通消费者难免会摸不到头脑,洗地机相对扫地机和拖地机来说,功能性更强,吸拖春游时节,购买数码相机的旺季到了,单反和微单该如何选择?冬天过后,气候回暖,路边的小草不知道什么时候,钻出了嫩嫩的绿芽,而篱笆旁边的迎春花也竞相绽放,万物凸显出生机勃勃。这是一个充满了希望的季节,很多人开始走向郊外,走向原野,让自己和大单反和微单的所有差别,在这里一次说清楚教你如何选择数码相机单反和微单,最关键的差别在哪里?各自有什么优劣势?热销机型中哪几款单反或者微单最值得拥有?今天就一次说个清楚。首先我们来看一下单反和微单的主要差别。单反是很直观的一个叫法,也就是单目前三种非常热销的数码产品,谁买谁入坑等一等不会吃亏经常逛各种数码城以及浏览电商网页,我发现最近一些数码产品价格高得出奇,但是却有不少人在抢购,动不动就断货,这真是让人不理解。首先我要说,购买数码产品,京东自营是首选,主要是质量有保别再被手机的超高像素远摄夜拍功能蒙骗了这些都是噱头现在的智能手机功能越来越强大了,可以说几乎是无所不能了可以上网看新闻,可以网购,可以聊天,可以移动支付,可以导航,可以看电影追剧听音乐,还可以拍摄图片和视频,而且只要你安装各种软件大数据的未来发展前景大数据人才需求现状大数据已经成为我们生活当中习以为常的一个名词,基于大数据分析下的精准推荐,已然覆盖到我们生活的方方面面。在这样的背景下,大数据的未来发展前景,也受到更多的关注。精准营销广告推荐猜你Redmi超大杯袭来,卢伟冰表示好久没换新机用,很猛最近随着小米手机超大杯的产生在手机界掀起了一股狂风,在上半年,各大手机商发布了诸多亮眼的手机,如华为最为火爆的华为nove7,华为p40,华为Mate40三星的GalaxyS20苹南卡T2无线蓝牙耳机给你一个HIFI级音乐厅的享受前言音乐是人类最美的语言,她从古至今已经历了无数的文化变迁,在大浪淘沙的历史长流中,她是其中被认同并保留下来的文化之一。由于音乐不受国籍和种族的限制,因此音乐具有广泛的流传性和影响华为投入巨资打造鸿蒙生态,鸿蒙系统已有80的安卓体验对如今的华为而言,最难得莫过于麒麟芯片的断供货问题,华为的高端芯片也处于即将告罄的地步。而联发科与高通能否通过申请合作令结果还未知。在同样的软件领域,华为鸿蒙系统即将上线为2。0版