作家
登录

代码这样写不止于优雅(Python 版)

作者: 来源: 2017-06-26 10:37:13 阅读 我要评论

    copy_items.append(i)  
  1. if 18 < age < 60: 
  2.  
  3. print("young man" 

pythonic

pythonic

  1. # 第1到第4个元素典范围区间 
  2.  
  3. sub_items = items[1:4] 
  4.  
  5. # 奇数 
  6.  
  7. odd_items = items[1::2] 
  8.  
  9. #拷贝 
  10.  
  11. copy_items = items[::] 或者 items[:]  

列表元素的下标不仅可以用正数表示,照样用负数表示,最后一个元素的地位是 -1,大年夜右往左,依次递减。

  1. -------------------------- 
  2.  
  3. | P | y | t | h | o | n | 
  4.  
  5. -------------------------- 
  6.  
  7.    0   1   2   3   4   5 
  8.  
  9.   -6  -5  -4  -3  -2  -1 
  10.  
  11. --------------------------  

7、善用生成器

  1. def fib(n): 
  2.  
  3.     a, b = 0, 1 
  4.  
  5.     result = [] 
  6.  
  7.      while b < n: 
  8.  
  9.         result.append(b) 
  10.  
  11.         a, b = b, a+b 
  12.  
  13.     return result  

pythonic

  1. def fib(n): 
  2.  
  3.     a, b = 0, 1 
  4.  
  5.     while a < n: 
  6.  
  7.         yield a 
  8.  
  9.         a, b = b, a + b  

膳绫擎是用生成器生成费波那契数列。生成器的好处就是无需一次性把所有元素加载到内存,只有迭代获取元素时才返回该元素,而列表是预先一次性把全部元素加载到了内存。此外用 yield 代码看起来更清楚。

8、获取字典元素

  1. d = {'name''foo'
  2.  
  3. if d.has_key('name'): 
  4.  
  5.     print(d['name']) 
  6.  
  7. else
  8.  
  9.     print('unknown' 

pythonic

  1. d.get("name""unknown"

9、预设字典默认值

经由过程 key 分组的时刻,不得不每次检查 key 是否已经存在于字典中。


  推荐阅读

  强调单路性能/定位数据中心应用,AMD正式推出面向数据中心的处理器EPYC

【51CTO.com原创稿件】在办事器处理器范畴,英特尔绝对是一家独大年夜,无人能比。90%以上的市场占领率,也充>>>详细阅读


本文标题:代码这样写不止于优雅(Python 版)

地址:http://www.17bianji.com/lsqh/35900.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)