Python的可读性和简单性是其广受欢迎的两大原因,本文介绍10个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,下面的技巧将在你的日常编码练习中非常实用。
1. 字符串反转
字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。
- #-!-coding:utf-8-!-
- string='helloworld'
- #方法1
- new_str=string[::-1]
- ic(new_str)
- #方法二
- new_str2=''.join(reversed(string))
- ic(new_str2)
- '''
- ic|new_str:'dlrowolleh'
- ic|new_str2:'dlrowolleh'
- '''
2. 首字母大写
这里咱们也是介绍两种方法,区别之处在于**capitalize()**仅是首字母大写
**title()**是每个单词开头的首字母都大写
- #首字母大写
- string='hellopythonandworld'
- #方法一
- new_str=string.capitalize()
- ic(new_str)
- #方法二
- new_str2=string.title()
- ic(new_str2)
- '''
- ic|new_str:'Hellopythonandworld'
- ic|new_str2:'HelloPythonAndWorld'
- '''
3. 查询唯一元素
我们利用set的唯一性来确定字符串的唯一元素:
- string='hellohellohello'
- new_str=set(string)
- #set类型
- ic(new_str)
- #字符串类型
- new_str=''.join(new_str)
- ic(new_str)
- '''
- ic|new_str:{'l','o','h','e'}
- ic|new_str:'lohe'
- '''
4. 变量交换
python中的变量交换比java简单多了,交换两个变量无需定义第三个中间变量,直接交换即可实现。
- a='hello'
- b='world'
- ic(a+b)
- #直接交换两个变量
- a,b=b,a
- ic(a+b)
- '''
- ic|a+b:'helloworld'
- ic|a+b:'worldhello'
- '''
5. 列表排序
列表排序这里我们也提供两种方式。第一个是列表自带的**sort() 方法;第二个是python内置函数 sorted()**方法。
- score=[88,99,91,85,94,85,94,78,100,80]
- #方法一
- new_score=sorted(score)
- ic('默认升序:',new_score)
- score=[57,29,11,27,84,34,87,25,70,60]
- #方法二
- new_score2=sorted(score,reverse=True)
- ic('设置降序',new_score2)
- '''
- ic|'默认升序:',new_score:[78,80,85,85,88,91,94,94,99,100]
- ic|'设置降序',new_score2:[87,84,70,60,57,34,29,27,25,11]
- '''
6.列表推导式
使用列表推导式可以快速生成一个列表或者根据列表生成满足需求的列表。
- #生成10个10-100以内随机整数
- numbers=[random.randint(10,100)forxinrange(10)]
- ic(numbers)
- #输入5折后的价格
- price=[800,500,400,860,780,520,560]
- half_price=[(x*0.5)forxinprice]
- ic(half_price)
- '''
- ic|numbers:[64,22,80,70,34,81,74,35,85,12]
- ic|half_price:[400.0,250.0,200.0,430.0,390.0,260.0,280.0]
- '''
7. 合并字符串
合并字符串我们使用string的.join()方法实现。
- lists=['hello','world','python','java','c++']
- #合并字符串
- new_str=''.join(lists)
- ic(new_str)
- '''
- ic|new_str:'helloworldpythonjavac++'
- '''
8. 拆分字符串
拆分字符串我们使用string的split()方法实现。
- string='helloworldpythonjavac++'
- string2='hello|world|python|java|c++'
- #拆分字符串
- new_str=string.split('')
- ic(new_str)
- new_str2=string2.split('|')
- ic(new_str2)
- '''
- ic|new_str:['hello','world','python','java','c++']
- ic|new_str2:['hello','world','python','java','c++']
- '''
9. 回文串检测
回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列。
- str='20211202'
- ifstr==str[::-1]:
- print('yes')
- else:
- print('no')
- '''
- yes
- '''
10. 统计列表元素出现次数
统计列表中元素各自出现的次数我们使用collections 的Counter方法。
- fromcollectionsimportCounter
- lists=['a','a','b','b','b','c','d','d','d','d','d']
- #统计所有元素出现的次数
- counts=Counter(lists)
- ic(counts)
- #统计某一元素出现的次数
- ic(counts['d'])
- #统计出现最多次数的一个元素
- ic(counts.most_common(1))
- '''
- ic|counts:Counter({'d':5,'b':3,'a':2,'c':1})
- ic|counts['d']:5
- ic|counts.most_common(1):[('d',5)]
- '''
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经