30秒掌握一些Python的高级用法,让旁人羡煞不已

开发 后端
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

[[413393]]

1.数组再分组

对一个列表根据所需要的大小进行细分:

30秒掌握一些python的高级用法,让旁人羡煞不已

效果如下:

  1. EXAMPLES 
  2.  
  3. chunk([1,2,3,4,5],2)# [[1,2],[3,4],5] 

return中,map的第二个参数是一个列表,map会将列表中的每一个元素用于调用第一个参数的 function 函数,返回包含每次 function 函数返回值的新列表。

2.数字转数组

同样是一则关于map的应用,将整形数字拆分到数组中:

  1. def digitize(n): 
  2.  
  3.   return list(map(int, str(n))) 

效果如下:

  1. EXAMPLES 
  2.  
  3. digitize(123)# [1, 2, 3] 

它将整形数字n转化为字符串后,还自动对该字符串进行了序列化分割,最后将元素应用到map的第一个参数中,转化为整形后返回。

3.非递归斐波那契

还记得菲波那切数列吗,前两个数的和为第三个数的值,如0、1、1、2、3、5、8、13....

如果使用递归来实现这个算法,效率非常低下,我们使用非递归的方式实现:

30秒掌握一些python的高级用法,让旁人羡煞不已

效果如下:

  1. EXAMPLES 
  2.  
  3. fibonacci(7)# [0, 1, 1, 2, 3, 5, 8, 13] 

这样看是很简单,但是思维要绕得过来哦。

4.下划线化字符串

批量统一变量名称或者字符串格式。

30秒掌握一些python的高级用法,让旁人羡煞不已

效果如下:

  1. EXAMPLES 
  2.  
  3. snake('camelCase')# 'camel_case' 
  4.  
  5. snake('some text')# 'some_text' 
  6.  
  7. snake('some-mixed_string With spaces_underscores-and-hyphens')# 'some_mixed_string_with_spaces_underscores_and_hyphens' 
  8.  
  9. snake('AllThe-small Things')# "all_the_small_things" 

re.sub用于替换字符串中的匹配项。这里其实是一个“套娃”用法,一开始可能不太好理解,需要慢慢理解。

第一个替换,是将s字符串中,使用' '替换'-'。

第二个替换,是针对第一个替换后的字符串,对符合'([A-Z]+)'正则表达式的字符区段(全大写的单词)用r' \1'替换,也就是用空格区分开每一个单词。

第三个替换,是对第二个替换后的字符串,对符合'([A-Z][a-z]+)'正则表达式的字符区段(也就是首字母大写,其他字母小写的词语)用r' \1'替换,也是将单词用空格分隔开。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2018-09-25 10:33:41

前端开发htmlcss

2009-09-21 17:46:25

Hibernate数据

2019-10-15 06:00:26

Google AnalAngularReact

2011-04-25 14:26:32

Ubuntu菜单

2013-02-19 10:35:13

摩托罗拉移动数据终端

2023-10-11 07:33:39

Z-indexCSS

2023-04-27 15:19:52

2018-05-07 08:22:19

LinuxImageMagick查看图片

2019-05-15 15:40:18

朋友圏微信评论

2023-02-10 09:46:04

bash脚本变量

2009-11-26 09:40:48

2012-09-11 09:16:52

Hadoop

2017-09-05 09:17:47

Java编程用法总结

2012-01-18 10:13:50

Objective-CiOSself

2010-05-17 17:08:14

IIS控制台

2022-10-08 08:19:37

前端TS 编译

2021-09-28 06:28:51

EF错误用法

2015-09-23 10:06:37

cocoapods

2017-11-29 18:52:13

Python新手编码建议

2023-09-04 16:55:18

点赞
收藏

51CTO技术栈公众号