分享提高 Python 代码的可读性的技巧


Posted in Python onMarch 03, 2022

1. 字符串反转

字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。

# -!- coding: utf-8 -!-
string = 'hello world'

# 方法1
new_str = string[::-1]
ic(new_str)

# 方法二
new_str2 = ''.join(reversed(string))
ic(new_str2)

'''
ic| new_str: 'dlrow olleh'
ic| new_str2: 'dlrow olleh'
'''

2. 首字母大写

这里咱们也是介绍两种方法,区别之处在于**capitalize()**仅是首字母大写

**title()**是每个单词开头的首字母都大写

# 首字母大写
string = 'hello python and world'

# 方法一
new_str = string.capitalize()
ic(new_str)


# 方法二
new_str2 = string.title()
ic(new_str2)

'''
ic| new_str: 'Hello python and world'
ic| new_str2: 'Hello Python And World'
'''

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) for x in range(10)]
ic(numbers)

# 输入5折后的价格
price = [800, 500, 400, 860, 780, 520, 560]
half_price = [(x*0.5)for x in price]
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: 'hello world python java c++'
'''

8. 拆分字符串

拆分字符串我们使用string的split()方法实现

string = 'hello world python java c++'
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. 回文串检测

回文串是指abaabbacccbcccaaaa这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列

str = '20211202'

if str == str[::-1]:
    print('yes')
else:
    print('no')

'''
yes
'''

10. 统计列表元素出现次数

统计列表中元素各自出现的次数我们使用collections Counter方法

from collections import Counter
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)]
'''

到此这篇关于分享10提高 Python 代码的可读性的技巧的文章就介绍到这了,更多相关提高 Python 代码可读性内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python时间整形转标准格式的示例分享
Feb 14 Python
从零学python系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
python读取图片任意范围区域
Jan 23 Python
浅谈pycharm使用及设置方法
Sep 09 Python
python 实现多维数组转向量
Nov 30 Python
kafka-python 获取topic lag值方式
Dec 23 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
Python包管理工具pip的15 个使用小技巧
May 17 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 Python
python实现简单的三子棋游戏
Apr 28 Python
使用python创建股票的时间序列可视化分析
Python Pandas读取Excel日期数据的异常处理方法
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 #Python
python3中apply函数和lambda函数的使用详解
Feb 28 #Python
你需要掌握的20个Python常用技巧
Feb 28 #Python
python opencv将多个图放在一个窗口的实例详解
pandas中关于apply+lambda的应用
Feb 28 #Python
You might like
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php读取csc文件并输出
2015/05/21 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
Web安全测试之XSS实例讲解
2016/08/15 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
python list是否包含另一个list所有元素的实例
2018/05/04 Python
Django框架实现的分页demo示例
2019/05/25 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Python八皇后问题解答过程详解
2019/07/29 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
给海归自荐信的建议
2013/12/13 职场文书
村干部承诺书
2014/03/28 职场文书
单位委托书范本
2014/04/04 职场文书
力学专业求职信
2014/07/23 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
工作经历证明书范文
2014/11/02 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
JavaScript 原型与原型链详情
2021/11/02 Javascript