有趣的超短python代码_你必须掌握的20个Python代码,短⼩
精悍,⽤处⽆穷
当今python编程语⾔的潮流已经成为不可阻挡的趋势,python以其较⾼的可读性和简洁性备受程序员的喜爱。⽽python编程中的⼀些⼩
的技巧,运⽤的恰当,会让你的程序事半功倍。
以下的20个⼩的程序段,看似⾮常的简单,但是却⾮常的有技巧性,并且对个⼈的编程能⼒是⼀个很好的检验,⼤家应该在⽇常的编程中多多使⽤,多多练习。
1.字符串的翻转
字符串的翻转,⾸先最简单的⽅法就是利⽤切⽚的操作,来实现翻转,其次可以利⽤reduce函数来实现翻转,在python3中,reduce函数需要从functools中进⾏导⼊。
2.判断字符串是否是回⽂
该例也可以看作是第⼀例的应⽤,利⽤字符串的翻转来判断字符是否是回⽂字符串。
3.单词⼤⼩写
⾯对⼀个字符串,想将⾥⾯的单词⾸字母⼤写,只需要调⽤title()函数,⽽所有的字母⼤写只需要调⽤upper()函数,字符串⾸字母⼤写则是调⽤capitalize()函数即可。
4.字符串的拆分
字符串的拆分可以直接利⽤split函数,进⾏实现,返回的是列表,⽽strip函数⽤于移除字符串头尾指定的字符(默认为空格或换⾏符)。
5.将列表中的字符串合并
这⼀条可以认为是第4条的反例,这⾥是将列表中的字符串合并为字符串。第4条可以与第5条结合,来去除字符串中不想留下的项。
6.寻字符串中唯⼀的元素
在python中,对于唯⼀值的筛查,⾸先应该想到对于set的利⽤,set可以帮助我们快速的筛查重复的元素,上述程序中,set不仅可以对字符串,⽽且还可以针对列表进⾏筛查。
7.将元素进⾏重复
将元素进⾏重复,可以采⽤“乘法”的形势,直接乘以原来的元素,也可以采⽤“加法”的形式,更⽅便理解。
8.基于列表的扩展
基于列表的扩展,可以充分利⽤列表的特性和python语法的简洁性,来产⽣新的列表,或者将嵌套的列表进⾏展开。
9. 将列表展开
⾸先,⽅法1中 ,我们调⽤的是iteration_utilities 中的deepflatten函数,第⼆种⽅法直接采⽤递归的⽅法,我们⾃⼰来实现复杂列表的展平,便可以得到展开后的列表。
10.⼆值交换
Python中的⼆值交换,可以直接采⽤交换的⽅式,如上图的⽅法1,⽽⽅法2所⽰的⽅法,借助第三个变量,来实现了两个数值的交换。
python新手代码画图11.统计列表中元素的频率
我们可以直接调⽤collections中的Counter类来统计元素的数量,当然也可以⾃⼰来实现这样的统计,但是从简洁性来讲,还是以Counter 的使⽤⽐较⽅便。
12.判断字符串所含元素是否相同
Counter函数还可以⽤来判断字符串中包含的元素是否相同,⽆论字符串中元素顺序如何,只要包含相同的元素和数量,就认为其是相同的。
13.将数字字符串转化为数字列表
上述程序中,⽅法1利⽤的map函数,map函数可以将str19中的每个元素都执⾏int函数,其返回的是⼀个迭代器,利⽤list函数来将其转化为列表的形式。注意,在python2中执⾏map函数就会直接返回列表,⽽python3做了优化,返回的是迭代器,节省了内存。
14.使⽤try-except-finally模块
当我们在执⾏程序时,可能会遇到某些不可预知的错误,使⽤try-except可以帮助我们去捕获这些错误,然后输出提⽰。注意,如果需要程序⽆论是否出错,都要执⾏⼀些程序的化,需要利⽤finally来实现。
15. 使⽤enumerate() 函数来获取索引-数值对
enumerate() 函数⽤于将⼀个可遍历的数据对象(如上图的列表,字符串)组合为⼀个索引序列。
16.代码执⾏消耗时间
利⽤time()函数,在核⼼程序开始前记住当前时间点,然后在程序结束后计算当前时间点和核⼼程序开始前的时间差,可以帮助我们计算程序执⾏所消耗的时间。
17.检查对象的内存占⽤情况
在python中可以使⽤sizeof来查看元素所占内存的⼤⼩。
18.字典的合并
在python3中,提供了新的合并字典的⽅式,如⽅法1所⽰,此外python3还保留了python2的合并字典的⽅式,如⽅法2所⽰。
19.随机采样
使⽤random.sample()函数,可以从⼀个序列中选择n_samples个随机且独⽴的元素。
20.检查唯⼀性
通过检查列表长度是否与set后的列表长度⼀致,来判断列表中的元素是否是独⼀⽆⼆的。
这20个短⼩精悍的⼩例⼦还是⾮常实⽤的,尤其是对菜鸟来说,多练习⼀下对功⼒提升⼤有裨益!读百遍,看千遍,不然⾃⼰动⼿敲⼀遍。
上⾯都是⾃⼰整理好的!我就把资料贡献出来给有需要的⼈!顺便求⼀波关注,哈哈~各位⼩伙伴关注我后私信【Java】就可以免费领取哒
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论