当前位置: 首页 > news >正文

房地产电商网站建设深圳洛可可设计公司

房地产电商网站建设,深圳洛可可设计公司,js网站计数器代码,企业网络推广方案的制定前言列表推导式构建列表的快捷方式#xff0c;而生成器表达式则可以用来创建其他任何类型的序列。自python2.7以后#xff0c;列表推导和生成器表达式的概念就应用到了字典上#xff0c;所以就有了字典推导#xff0c;以后我们还会遇到集合推导(此处暂不讨论)。因此#x…前言列表推导式构建列表的快捷方式而生成器表达式则可以用来创建其他任何类型的序列。自python2.7以后列表推导和生成器表达式的概念就应用到了字典上所以就有了字典推导以后我们还会遇到集合推导(此处暂不讨论)。因此如果想要更好的学习字典推导需要对列表推导和生成器表达式进行充分对掌握。为什么使用推导式推导式的应用让代码的可读性更强。接下来我们就一同来验证为什么说“可读性更强”。1.列表推导示例1把letter字符串变成Unicode码位的列表In [1]: letterabcdefghrIn [2]: codes[]In [3]: for letter in letter:...: codes.append(ord(letter))...:In [4]: codesOut[4]: [97, 98, 99, 100, 101, 102, 103, 104, 114]示例2把letter字符串变成Unicode码位的列表的另外一个写法(即列表推导)In [1]: letterabcdefghrIn [2]: codes[ord(letter) for letter in letter]In [3]: codesOut[3]: [97, 98, 99, 100, 101, 102, 103, 104, 114]如上两个示例最终达到的效果是一致的。但是明显可以看出示例2的可读性更强。大家可能会问是不是以后就使用列表推导不再使用for循环来呢其实不然。通常的原则是只用列表推导来创建新的列表并且尽量保持简短。如果列表推导的代码超过了两行可能就要考虑是不是要用for循环重写了。实际上没有硬性规则要求什么时候用什么或者必须用什么如何用怎么用还是需要自己把握。2.生成器表达式与列表推导相比生成器表达式是初始化元组、数组或其他序列类型的更好选择。原因是生成器表达式遵守了迭代器协议它是逐个的产出元素而不是构造完整列表后把列表传递到函数里。生成器表达式与列表推导的语法差不多不同的是列表推导使用方括号而生成器表达式使用的是圆括号。示例1使用生成器表达式初始化元组和数组#初始化元组In [1]: letterabcdefghrIn [2]: tupletuple(ord(letter) for letter in letter)In [3]: tupleOut[3]: (97, 98, 99, 100, 101, 102, 103, 104, 114)#初始化数组In [4]: import arrayIn [5]: array.array(I,(ord(letter) for letter in letter))Out[5]: array(I, [97, 98, 99, 100, 101, 102, 103, 104, 114])如果生成器表达式是函数调用的唯一参数则不需要再加另外一个圆括号。array的构造方法有两个参数第一个参数确定了数字的存储方式。与初始化元组不同该处有两个参数所以生成器表达式需要用圆括号括起来。3.字典推导字典推导可以从任何以键值对作为元素的可迭代对象中构建出字典。下面例子就展示了利用字典推导可以把一个装满元组的列表编程两个不同的字典。创建一个包含成对数据的data_name列表它将直接用在后续字典的构造方法中具体如下In [1]: data_name[(1561,祁俊超),(1560,邓亚鑫),(1559,黎荣梅),(1557,卢雪),(1556,武晓蒙),(1555,黄国全),(1554,黎荣梅),(1551,姚文通),(1550,曾丹丹),(1548,武晓蒙)]In [2]: data_nameOut[2]:[(1561, 祁俊超),(1560, 邓亚鑫),(1559, 黎荣梅),(1557, 卢雪),(1556, 武晓蒙),(1555, 黄国全),(1554, 黎荣梅),(1551, 姚文通),(1550, 曾丹丹),(1548, 武晓蒙)]更改data_name列表中数据对的左右位置姓名为键编号为值。具体如下In [3]: name_code{name:code for code,name in data_name}In [4]: name_codeOut[4]:{祁俊超: 1561,邓亚鑫: 1560,黎荣梅: 1554,卢雪: 1557,武晓蒙: 1548,黄国全: 1555,姚文通: 1551,曾丹丹: 1550}同上面的操作相反用编号为键姓名为值并且过滤掉编号大于或等于1560的姓名。具体如下In [5]: {code:name for name,code in name_code.items() if code1560}Out[5]: {1561: 祁俊超, 1560: 邓亚鑫}如果对列表推导对概念以及书写方式已熟知那么理解字典推导相对容易些。如果对列表推导还不熟知那么现在应该是掌握它导时候了因为字典推导导表达形式在其他数据类型中慢慢得以体现。同时使用列表推导和字典推导可以实现对数据的过滤效果。
http://www.huolong8.cn/news/97843/

相关文章:

  • 怎么做网站推广临沂自己做网站商城需要营业执照吗
  • 新浪云 建设网站如何下载网站模版
  • 支付宝网站怎么设计的网站建设的公司太多了
  • 公司的 SEO与网站建设友情链接交易购买
  • 2015 军考 网站建设wordpress 标题 回车
  • 工程项目外包平台泰州网站建设优化
  • 网站建设 考核指标页面设计中为什么要有优先级排列
  • 百度站点网站制作一薇
  • 网站需求分我自己的网站 怎样做防火墙
  • 免费在线做网站视频直播技术
  • 网站系统参数设置seo管理系统易语言
  • 做外卖网站的模板南昌网站建设联系方式
  • 网站虚拟主机聊城的网站制作公司
  • 山东济南网站建设公司排名视频剪辑培训班学费一般多少
  • 做网站要学的东西怎么做网站服务器吗
  • ssh框架做的网站问题站群子网站开发
  • 高端网站建设四川php门户网站源码
  • 在手机上建设网站教程网站建设公司 腾佳
  • 柳州网站建设服务三只松鼠网络营销方案策划书
  • 网站首页做很多个关键词在哪买网站链接
  • 公司注册网站及流程wordpress支持swf播放
  • 网站加载慢图片做延时加载有用取消网站的通知书
  • 异地备案 网站成都软件开发工资一般多少钱
  • 凡客网站规划与建设ppt建筑方案设计包括什么
  • 单页网站如何做现在还有人用asp做网站
  • 怎么做网站公众号成都网站建设 Vr
  • 个人博客网站模板免费网站建设讠金手指科杰
  • 石家庄网站建立网页qq家园
  • 重庆忠县网站建设公司推荐园区网络建设方案
  • 北京手机网站设计价格学做淘宝店的网站