加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

18个Python高效编程技巧,Mark!

发布时间:2019-03-20 11:17:09 所属栏目:建站 来源:佚名
导读:初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行的,终于解脱了。高级语言,如果做不到这样,还扯啥高级呢? 01 交换变量 a=3 b=6 这个情况如果要

转变成如下:

  1. numbers = [1,2,3,4,5,6] 
  2. even = [number for number in numbers if number%2 == 0] 

12 字典推导

和列表推导类似,字典可以做同样的工作:

  1. teams = ["Packers", "49ers", "Ravens", "Patriots"] 
  2. print {key: value for value, key in enumerate(teams)} 
  3. >>> { 49ers : 1,  Ravens : 2,  Patriots : 3,  Packers : 0} 

13 初始化列表的值

  1. items = [0]*3
  2. print items 
  3. >>> [0,0,0] 

14 列表转换为字符串

  1. teams = ["Packers", "49ers", "Ravens", "Patriots"] 
  2. print ", ".join(teams) 
  3. >>>  Packers, 49ers, Ravens, Patriots  

15 从字典中获取元素

我承认try/except代码并不雅致,不过这里有一种简单方法,,尝试在字典中找key,如果没有找到对应的alue将用第二个参数设为其变量值。

  1. data = { user : 1,  name :  Max ,  three : 4} 
  2. try: 
  3.    is_admin = data[ admin ] 
  4. except KeyError: 
  5.    is_admin = False 

替换成这样

  1. data = { user : 1,  name :  Max ,  three : 4} 
  2. is_admin = data.get( admin , False) 

16 获取列表的子集

有时,你只需要列表中的部分元素,这里是一些获取列表子集的方法。

  1. x = [1,2,3,4,5,6] 
  2. #前3个 
  3. print x[:3] 
  4. >>> [1,2,3] 
  5. #中间4个 
  6. print x[1:5] 
  7. >>> [2,3,4,5] 
  8. #最后3个 
  9. print x[3:] 
  10. >>> [4,5,6] 
  11. #奇数项 
  12. print x[::2] 
  13. >>> [1,3,5] 
  14. #偶数项 
  15. print x[1::2] 
  16. >>> [2,4,6] 

除了python内置的数据类型外,在collection模块同样还包括一些特别的用例,在有些场合Counter非常实用。如果你参加过在这一年的Facebook HackerCup,你甚至也能找到他的实用之处。

  1. from collections import Counter 
  2. print Counter("hello") 
  3. >>> Counter({ l : 2,  h : 1,  e : 1,  o : 1}) 

17 迭代工具

和collections库一样,还有一个库叫itertools,对某些问题真能高效地解决。其中一个用例是查找所有组合,他能告诉你在一个组中元素的所有不能的组合方式

  1. from itertools import combinations 
  2. teams = ["Packers", "49ers", "Ravens", "Patriots"] 
  3. for game in combinations(teams, 2): 
  4.     print game 
  5. >>> ( Packers ,  49ers ) 
  6. >>> ( Packers ,  Ravens ) 
  7. >>> ( Packers ,  Patriots ) 
  8. >>> ( 49ers ,  Ravens ) 
  9. >>> ( 49ers ,  Patriots ) 
  10. >>> ( Ravens ,  Patriots ) 

18 False == True

比起实用技术来说这是一个很有趣的事,在python中,True和False是全局变量,因此:

  1. False = True 
  2. if False: 
  3.    print "Hello" 
  4. else: 
  5.    print "World" 
  6. >>> Hello 
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读